搜档网
当前位置:搜档网 › Hadoop集群部署文档

Hadoop集群部署文档

Hadoop集群部署文档
Hadoop集群部署文档

Hadoop集群部署文档

一、机器规划

二、Hadoop版本选择

hadoop-2.2.0

三、用户规划

Hadoop分为两大服务,为避免服务之间的干扰。采用用户hadoop运行HDFS服务,用mapreduce 账号运行Mapreduce服务。

客户端使用rd账号进行HDFS操作和MapReduce Job 提交。

四、目录规划

Hadoop HDFS安装目录: /apps/hadoop_hdfs/hadoop-2.2.0

Hadoop Mapreduce安装目录: /apps/hadoop_mapreduce/hadoop-2.2.0/

Hadoop HDFS的hadoop.tmp.dir目录: /data/hadoop_hdfs

Hadoop Mapreduce的hadoop.tmp.dir目录: /data/hadoop_mapreduce

五、部署

(一)、前期准备

1.安装JDK

请在所有机器上安装JDK环境,安装略,默认安装/apps/java/jdk1.7.0_51。

2.Host映射

修改所有机器的/etc/hosts文件,将所有机器的机器名和IP的映射进行添加。

3.账号创建

A.在NameNode和所有DataNode机器上创建hadoop账号

B.在NameNode上创建rd和mapreduce账号

B.在ResourceManager机器和所有NodeManager机器上创建mapreduce账号

C.在Client机器上创建rd账号

4.无密码SSH登陆

A.保证NameNode机器可以用hadoop账号无密码登陆所有DataNode机器

B.保证ResourceManager机器可以用reduce账号无密码登陆所有NodeManager

机器

5.目录创建

A.在NameNode和所有DataNode机器上用hadoop账号创建目录

/data/hadoop_hdfs

B.在ResourceManager机器和所有NodeManager机器上用mapreduce账号创建

/data/hadoop_mapreduce

(二)、部署HDFS

1.hadoop获取

在NameNode机器上下载解压Hadoop,并保证解压的文件夹属主为hadoop,如图:

2.修改配置文件

修改/apps/hadoop_hdfs/hadoop-2.2.0/etc/hadoop/下的如下文件

(1). 修改core-site.xml文件

https://www.sodocs.net/doc/055487626.html,

hdfs://protal-10-193:8020

hadoop.tmp.dir

/data/hadoop_hdfs

(2).修改hadoop-env.sh文件

export JAVA_HOME=/apps/java/jdk1.7.0_51

(3).修改slaves文件

10.9.13.20

10.9.6.239

10.9.11.28

(4). 修改hdfs-site.xml文件

dfs.replication

3

https://www.sodocs.net/doc/055487626.html,node.secondary.http-address

protal-10-193:50090

3.HDFS文件分发

将NameNode上的/apps/hadoop_hdfs/hadoop-2.2.0目录用hadoop账号分发到所有的DataNode机器的/apps/hadoop_hdfs/目录。

4.启动HDFS

(1).格式化集群

在NameNode机器上执行

cd /apps/hadoop_hdfs/hadoop-2.2.0

bin/hadoop namenode -format -clusterid clustername

(2).启动hdfs

在NameNode机器上执行

cd /apps/hadoop_hdfs/hadoop-2.2.0

sbin/start-dfs.sh

5.验证HDFS

在NameNode机器上执行jps命令,看是否有如下进程存在:

(二)、部署Mapreduce

1.hadoop获取

将NameNode上的/apps/hadoop_hdfs/hadoop-2.2.0分发到ResourceManager机器的/apps/hadoop_mapreduce/目录,并保证该目录的属主是mapreduce。

2.修改配置文件

修改/apps/hadoop_hdfs/hadoop-2.2.0/etc/hadoop/下的如下文件

(1). 修改core-site.xml文件

https://www.sodocs.net/doc/055487626.html,

hdfs://protal-10-193:8020

hadoop.tmp.dir

/data/hadoop_mapreduce

(2). 修改mapred-site.xml文件

https://www.sodocs.net/doc/055487626.html,

yarn

(3). 修改yarn-site.xml文件

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

rsyslog-16-3

3.Mapreduce文件分发

将ResourceManager上的/apps/hadoop_mapreduce/hadoop-2.2.0目录用mapreduce账号分发到所有的NodeManager机器的/apps/hadoop_mapredce/目录。

4.启动Mapreduce

在ResourceManager上执行

cd /apps/hadoop_mapreduce/hadoop-2.2.0

sbin/ start-yarn.sh

5.验证Mapreduce

在ResourceManager机器上,用mapreduce账号执行如下命令:

(1).创建测试用的input目录

cd /apps/hadoop_mapreduce/hadoop-2.2.0

bin/hadoop fs -mkdir /input

(2).将当前目录的txt文件上传到HDFS的/input目录

h adoop fs -put ./*.txt /input

(3.)执行mapreduce

执行HADOOP 自带的例子,wordcount 包,命令如下

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output

(二)、部署Hadoop客户端

1.hadoop获取

将ResourceManager上的/apps/hadoop_mapreduce/hadoop-2.2.0目录分发到Client机器的/apps/hadoop_mapredce/目录,属主为root

2.验证HDFS操作和Mapreduce Job提交

在ResourceManager机器上,用rd账号执行如下命令:

(1).创建测试用的input目录

cd /apps/hadoop_mapreduce/hadoop-2.2.0

bin/hadoop fs -mkdir /input

(2).将当前目录的txt文件上传到HDFS的/input1目录

h adoop fs -put ./*.txt /input1

(3.)执行mapreduce

执行HADOOP 自带的例子,wordcount 包,命令如下

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input1 /output1

Hadoop配置参数建议

Hadoop配置参数建议 流量三期程序和Hive脚本需要运行在Hadoop集群上,本文档用于对Hadoop的参数提出建议。如果Hadoop集群是我们自己管理的,可以参考文档里建议的参数进行配置;如果Hadoop集群不由我们管理,我们只是集群资源的用户,可以通过给流量三期Job或者Hive 脚本指定Hadoop参数来调整程序的运行方式。 需要注意的是,通过编辑配置文件来设置Hadoop参数的方式,只适用于独立安装的Hadoop2.X、CDH4.X和CDH5.X,不适用于通过Athena大数据管理平台安装的CDH,因为Athena要求必须使用Web界面修改Hadoop的配置,不允许直接编辑Hadoop的配置文件。 Hadoop的参数有数百个,其中绝大多数都应该使用默认值,本文档只对可能需要修改的参数进行说明。对于文档没有列出的参数,如果没有特殊需要,不建议修改,避免出现难以定位的问题。 Hadoop参数可以分成三类,分别是Linux环境变量、集群配置变量和作业配置变量,下面对各类变量分别说明。 一、Linux环境变量 Linux环境变量用来配置各个Hadoop守护进程的行为,包括Yarn的ResourceManager 进程、Yarn的NodeManager进程、HDFS的NameNode进程、HDFS的Secondary NameNode 进程、HDFS的DataNode进程和Hadoop Job History Server进程等。 Hadoop在启动各个守护进程时会通过环境变量的值来确定进程的行为,所以环境变量一般在启动Hadoop前设置才有意义。 设置方式是在Hadoop启动或者重启前,编辑Hadoop配置文件目录下的hadoop-env.sh、mapred-env.sh和yarn-env.sh文件。这三个文件是shell脚本,并且mapred-env.sh和yarn-env.sh 的优先级高于hadoop-env.sh,也就是说如果在mapred-env.sh和hadoop-env.sh中设置了同一个环境变量,Hadoop会使用mapred-env.sh中的变量值。 下面是Hadoop比较重要的环境变量:

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置Hadoop 集群,默认读者已经掌握了Hadoop 的单机伪分布式配置,否则请先查看Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置。 本教程由厦门大学数据库实验室出品,转载请注明。本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.7.1 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。 为了方便新手入门,我们准备了两篇不同系统的Hadoop 伪分布式配置教程。但其他Hadoop 教程我们将不再区分,可同时适用于Ubuntu 和CentOS/RedHat 系统。例如本教程以Ubuntu 系统为主要演示环境,但对Ubuntu/CentOS 的不同配置之处、CentOS 6.x 与CentOS 7 的操作区别等都会尽量给出注明。 环境 本教程使用Ubuntu 14.04 64位作为系统环境,基于原生Hadoop 2,在Hadoop 2.6.0 (stable)版本下验证通过,可适合任何Hadoop 2.x.y 版本,例如Hadoop 2.7.1,Hadoop 2.4.1 等。 本教程简单的使用两个节点作为集群环境: 一个作为Master 节点,局域网IP 为192.168.1.121;另一个作为Slave 节点,局域网IP 为192.168.1.122。 准备工作 Hadoop 集群的安装配置大致为如下流程: 1.选定一台机器作为Master 2.在Master 节点上配置hadoop 用户、安装SSH server、安装Java 环境 3.在Master 节点上安装Hadoop,并完成配置 4.在其他Slave 节点上配置hadoop 用户、安装SSH server、安装Java 环境 5.将Master 节点上的/usr/local/hadoop 目录复制到其他Slave 节点上 6.在Master 节点上开启Hadoop 配置hadoop 用户、安装SSH server、安装Java 环境、安装Hadoop 等过程已经在Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置中有详细介绍,请前往查看,不再重复叙述。 继续下一步配置前,请先完成上述流程的前 4 个步骤。 网络配置 假设集群所用的节点都位于同一个局域网。 如果使用的是虚拟机安装的系统,那么需要更改网络连接方式为桥接(Bridge)模式,才能实现多个节点互连,例如在VirturalBox 中的设置如下图。此外,如果节点的系统是在虚拟机中直接复制的,要确保各个节点的Mac 地址不同(可以点右边的按钮随机生成MAC 地址,否则IP 会冲突):

hadoop2.7.2 伪分布式安装

hadoop:建立一个单节点集群伪分布式操作 安装路径为:/opt/hadoop-2.7.2.tar.gz 解压hadoop: tar -zxvf hadoop-2.7.2.tar.gz 配置文件 1. etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/jdk1.8 2. etc/hadoop/core-site.xml fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir file:/opt/hadoop-2.7.2/tmp 3. etc/hadoop/hdfs-site.xml https://www.sodocs.net/doc/055487626.html,.dir file:/opt/hadoop-2.7.2/dfs/name dfs.datanode.data.dir file:/opt/hadoop-2.7.2/dfs/data dfs.replication 1 dfs.webhdfs.enabled true

hadoop2.2集群配置

Hadoop集群在linux下配置 第一部分Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。 下载地址:https://www.sodocs.net/doc/055487626.html,/hadoop/common/hadoop-2.2.0/ 如下图所示,下载红色标记部分即可。 第二部分集群环境搭建 1、这里我们搭建一个由两台机器组成的集群: 10.11.1.67 tan/123456 yang 10.11.1.57 tan/123456 ubuntu 1.1 上面各列分别为IP、user/passwd、hostname 1.2 Hostname可以在/etc/hostname中修改 1.3 这里我们为每台机器新建了一个账户tan.这里需要给每个账户分配sudo的权限。 (切换到root账户,修改/etc/sudoers文件,增加:tan ALL=(ALL) ALL ) 2、修改/etc/hosts 文件,增加两台机器的ip和hostname的映射关系 10.11.1.67 yang 10.11.1.57 ubuntu 3、打通yang到ubuntu的SSH无密码登陆 3.1 安装ssh 一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安 装: sudo apt-get install ssh 3.2设置local无密码登陆

安装完成后会在~目录(当前用户主目录,即这里的/home/tan)下产生一个隐藏文 件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可 (mkdir .ssh)。 具体步骤如下: 1、进入.ssh文件夹 2、 ssh-keygen -t rsa 之后一路回车(产生秘钥) 3、把id_rsa.pub 追加到授权的key 里面去(cat id_rsa.pub >> authorized_keys) 4、重启SSH 服务命令使其生效:service ssh restart 此时已经可以进行ssh localhost的无密码登陆 【注意】:以上操作在每台机器上面都要进行。 3.3设置远程无密码登陆 这里只有yang是master,如果有多个namenode,或者rm的话则需要打通所有master 都其他剩余节点的免密码登陆。(将yang的authorized_keys追加到ubuntu的authorized_keys) 进入yang的.ssh目录 scp authorized_keys tan@ubuntu:~/.ssh/ authorized_keys_from_yang 进入ubuntu的.ssh目录 cat authorized_keys_from_yang >> authorized_keys 至此,可以在yang上面ssh tan@ubuntu进行无密码登陆了。 4、安装jdk 注意:这里选择下载jdk并自行安装,而不是通过源直接安装(apt-get install) 4.1、下载jdk(https://www.sodocs.net/doc/055487626.html,/technetwork/java/javase/downloads/index.html) 4.1.1 对于32位的系统可以下载以下两个Linux x86版本(uname -a 查看系统版 本) 4.1.2 64位系统下载Linux x64版本(即x64.rpm和x64.tar.gz) 4.2、安装jdk(这里以.tar.gz版本,32位系统为例) 安装方法参https://www.sodocs.net/doc/055487626.html,/javase/7/docs/webnotes/install/linux/linux-jdk.html 4.2.1 选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdir java) 4.2.2 将文件jdk-7u40-linux-i586.tar.gz移动到/usr/java 4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz 4.2.4 删除jdk-7u40-linux-i586.tar.gz(为了节省空间)

Hadoop集群MYSQL的安装指南

前言 本篇主要介绍在大数据应用中比较常用的一款软件Mysql,我相信这款软件不紧紧在大数据分析的时候会用到,现在作为开源系统中的比较优秀的一款关系型开源数据库已经被很多互联网公司所使用,而且现在正慢慢的壮大中。 在大数据分析的系统中作为离线分析计算中比较普遍的两种处理思路就是:1、写程序利用 mapper-Reducer的算法平台进行分析;2、利用Hive组件进行书写Hive SQL进行分析。 第二种方法用到的Hive组件存储元数据最常用的关系型数据库最常用的就是开源的MySQL了,这也是本篇最主要讲解的。 技术准备 VMware虚拟机、CentOS 6.8 64 bit、SecureCRT、VSFTP、Notepad++ 软件下载 我们需要从Mysql官网上选择相应版本的安装介质,官网地址如下: MySQL下载地址:https://www.sodocs.net/doc/055487626.html,/downloads/

默认进入的页面是企业版,这个是要收费的,这里一般建议选择社区开源版本,土豪公司除外。

然后选择相应的版本,这里我们选择通用的Server版本,点击Download下载按钮,将安装包下载到本地。 下载完成,上传至我们要安装的系统目录。 这里,需要提示下,一般在Linux系统中大型公用的软件安装在/opt目录中,比如上图我已经安装了Sql Server On linux,默认就安装在这个目录中,这里我手动创建了mysql目录。 将我们下载的MySQL安装介质,上传至该目录下。

安装流程 1、首先解压当前压缩包,进入目录 cd /opt/mysql/ tar -xf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 这样,我们就完成了这个安装包的解压。 2、创建MySql超级管理用户 这里我们需要单独创建一个mySQL的用户,作为MySQL的超级管理员用户,这里也方便我们以后的管理。 groupaddmysql 添加用户组 useradd -g mysqlmysql 添加用户 id mysql 查看用户信息。

hadoop集群部署之双虚拟机版

1、采用一台机器开两个虚拟机的方式构成两台电脑的环境,用root登录。 分别查看其IP地址:输入# ifconfig,可得主机IP:192.168.1.99;分机为:192.168.1.100。 2、在两台机器上的/etc/hosts均添加相应的主机名和IP地址: 这里主机名命名为shenghao,分机名命名为slave: 保存后重启网络: 3、两台机器上均创立hadoop用户(注意是用root登陆) # useradd hadoop # passwd hadoop 输入111111做为密码 登录hadoop用户: 注意,登录用户名为hadoop,而不是自己命名的shenghao。 4、ssh的配置 进入centos的“系统→管理→服务器设置→服务,查看sshd服务是否运行。 在所有的机器上生成密码对: # ssh-keygen -t rsa 这时hadoop目录下生成一个.ssh的文件夹, 可以通过# ls .ssh/来查看里面产生的私钥和公钥:id_rsa和id_rsa.pub。 更改.ssh的读写权限: # chmod 755 .ssh 在namenode上(即主机上)

进入.ssh,将id_rsa.pub直接复制为authorized_keys(namenode的公钥): # cp id_rsa.pub authorized_keys 更改authorized_keys的读写权限: # chmod 644 authorized_keys 【这个不必须,但保险起见,推荐使用】 然后上传到datanode上(即分机上): # scp authorized_keys hadoop@slave:/home/hadoop/.ssh # cd .. 退出.ssh文件夹 这样shenghao就可以免密码登录slave了: 然后输入exit就可以退出去。 然后在datanode上(即分机上): 将datanode上之前产生的公钥id_rsa.pub复制到namenode上的.ssh目录中,并重命名为slave.id_rsa.pub,这是为了区分从各个datanode上传过来的公钥,这里就一个datanode,简单标记下就可。 # scp -r id_rsa.pub hadoop@shenghao:/home/hadoop/.ssh/slave.id_rsa.pub 复制完毕,此时,由于namenode中已经存在authorized_keys文件,所以这里是追加,不是复制。在namenode上执行以下命令,将每个datanode的公钥信息追加: # cat slave.id_rsa.pub >> authorized_keys 这样,namenode和datanode之间便可以相互ssh上并不需要密码: 然后输入exit就可以退出去。 5、hadoop的集群部署 配置hadoop前一定要配置JDK,请参考相关资料,这里就不赘述了。 将下载好的hadoop-0.19.0.tar.gz文件上传到namenode的/home/hadoop/hadoopinstall 解压文件: # tar zxvf hadoop-0.19.0.tar.gz 在/erc/profile的最后添加hadoop的路径: # set hadoop path export HADOOP_HOME=/home/hadoop/hadoopinstall/hadoop-0.20.2 export PATH=$HADOOP_HOME/bin:$PATH 之后配置hadoop/conf中的4个文件:

腾讯大规模Hadoop集群实践

腾讯大规模Hadoop集群实践 发表于2014-02-19 21:26| 21878次阅读| 来源《程序员》| 45条评论| 作者翟艳堂 《程序员》杂志2014年2月刊hadoop集群腾讯分布式计算数据存储云计算大数据TDW 摘要:TDW是腾讯最大的离线数据处理平台。本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW 在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案。 TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据量大、计算复杂等特定情况进行了大量优化和改造。 TDW服务覆盖了腾讯绝大部分业务产品,单集群规模达到4400台,CPU总核数达到10万左右,存储容量达到100PB;每日作业数100多万,每日计算量4PB,作业并发数2000左右;实际存储数据量80PB,文件数和块数达到6亿多;存储利用率83%左右,CPU利用率85%左右。经过四年多的持续投入和建设,TDW已经成为腾讯最大的离线数据处理平台。 TDW的功能模块主要包括:Hive、MapReduce、HDFS、TDBank、Lhotse等,如图1所示。TDW Core 主要包括存储引擎HDFS、计算引擎MapReduce、查询引擎Hive,分别提供底层的存储、计算、查询服务,并且根据公司业务产品的应用情况进行了很多深度订制。TDBank负责数据采集,旨在统一数据接入入口,提供多样的数据接入方式。Lhotse任务调度系统是整个数据仓库的总管,提供一站式任务调度与管理。

Hadoop集群搭建(二)HDFS_2017

Hadoop集群搭建(二)HDFS HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS 展开的。所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始。 安装Hadoop集群,首先需要有Zookeeper才可以完成安装。如果没有Zookeeper,请先部署一套Zookeeper。另外,JDK以及物理主机的一些设置等。都请参考下文: Hadoop集群搭建(一) Zookeeper 下面开始HDFS的安装 HDFS主机分配 1.19 2.168.67.101 c6701 --Namenode+datanode 2.192.168.67.102 c6702 --datanode 3.192.168.67.103 c6703 --datanode 1. 安装HDFS,解压hadoop- 2.6.0-EDH-0u2.tar.gz 我同时下载2.6和2.7版本的软件,先安装2.6,然后在执行2.6到2.7的升级步骤 https://www.sodocs.net/doc/055487626.html,eradd hdfs 2.echo "hdfs:hdfs"| chpasswd 3.su - hdfs

4.cd /tmp/software 5.tar -zxvf hadoop-2. 6.0-EDH-0u2.tar.gz -C /home/hdfs/ 6.mkdir -p /data/hadoop/temp 7.mkdir -p /data/hadoop/journal 8.mkdir -p /data/hadoop/hdfs/name 9.mkdir -p /data/hadoop/hdfs/data 10.chown -R hdfs:hdfs /data/hadoop 11.chown -R hdfs:hdfs /data/hadoop/temp 12.chown -R hdfs:hdfs /data/hadoop/journal 13.chown -R hdfs:hdfs /data/hadoop/hdfs/name 14.chown -R hdfs:hdfs /data/hadoop/hdfs/data 15.$ pwd 16./home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop 2. 修改core-site.xml对应的参数 1.$ cat core-site.xml 2.<configuration> 3.<!--指定hdfs的nameservice为ns --> 4.<property> 5.<name>fs.defaultFS</name> 6.<value>hdfs://ns</value> 7.</property> 8.<!--指定hadoop数据临时存放目录-->

Hadoop集群部署方案

Hadoop集群部署方案

目录 1.网络拓扑 (1) 2.软件安装 (1) 2.1.修改主机名 (1) 2.2.修改host文件 (1) 2.3.创建Hadoop 用户 (2) 2.4.禁用防火墙 (2) 2.5.设置ssh登录免密码 (2) 2.6.安装hadoop (4) 3.集群配置 (5) 3.1.修改脚本 (5) 3.1.1................................................ hadoop-env.sh 5 3.1.2................................................... y arn-env.sh 5 3.2.配置文件 (5) 3.2.1................................................ core-site.xml 5 3.2.2................................................ hdfs-site.xml 7 3.2.3.............................................. mapred-site.xml 10 3.2. 4................................................ yarn-site.xml 11 3.2.5.配置datanode 14 3.3.创建目录 (14)

4.启动zk集群 (14) 5.启动hadoop (14) 5.1.启动所有节点journalnode (14) 5.2.格式化h1 namenode (15) 5.3.在h1上格式化ZK (15) 5.4.启动h1的namenode,zkfc (16) 5.5.启动h2上namenode (16) 5.6.同步h1上的格式化数据到h2 (16) 5.7.启动 HDFS (17) 5.8.启动 YARN (18) 5.9.启动h2 ResourceManager (18) 5.10........................................ h4上启动 JobHistoryServer 19 5.11.......................................... 查看ResourceManager状态19 6.浏览器访问 (19) https://www.sodocs.net/doc/055487626.html,node管理界面 (19) 6.1.1............................... http://192.168.121.167:50070 19 6.1.2............................... http://192.168.121.168:50070 20 6.2.ResourceManager管理界面 (20) 6.2.1............................... http://192.168.121.167:8088/ 21 6.2.2............................... http://192.168.121.168:8088/ 21 6.3.JournalNode HTTP 服务 (21) 6.3.1............................... http://192.168.121.167:8480/ 21 6.4.Datanode HTTP服务 (22)

如何基于Docker快速搭建多节点Hadoop集群

如何基于Docker快速搭建多节点Hadoop集群 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 一. 项目简介 GitHub: kiwanlau/hadoop-cluster-docker 直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。 我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的Hadoop on Docker项目以及其存在的问题。 我的项目参考了alvinhenrick/hadoop-mutinode项目,不过我做了大量的优化和重构。alvinhenrick/hadoop-mutinode项目的GitHub主页以及作者所写的博客地址如下: GitHub:Hadoop (YARN) Multinode Cluster with Docker

Hadoop集群安装详细步骤

Hadoop集群安装详细步骤|Hadoop安装配置 文章分类:综合技术 Hadoop集群安装 首先我们统一一下定义,在这里所提到的Hadoop是指Hadoop Common,主要提供DFS(分布式文件存储)与Map/Reduce的核心功能。 Hadoop在windows下还未经过很好的测试,所以笔者推荐大家在linux(cent os 5.X)下安装使用。 准备安装Hadoop集群之前我们得先检验系统是否安装了如下的必备软件:ssh、rsync和Jdk1.6(因为Hadoop需要使用到Jdk中的编译工具,所以一般不直接使用Jre)。可以使用yum install rsync来安装rsync。一般来说ssh是默认安装到系统中的。Jdk1.6的安装方法这里就不多介绍了。 确保以上准备工作完了之后我们就开始安装Hadoop软件,假设我们用三台机器做Hadoop集群,分别是:192.168.1.111、192.168.1.112和192.168.1.113(下文简称111,112和113),且都使用root用户。 下面是在linux平台下安装Hadoop的过程: 在所有服务器的同一路径下都进行这几步,就完成了集群Hadoop软件的安装,是不是很简单?没错安装是很简单的,下面就是比较困难的工作了。 集群配置

根据Hadoop文档的描述“The Hadoop daemons are N ameNode/DataNode and JobTracker/TaskTracker.”可以看出Hadoop核心守护程序就是由 NameNode/DataNode 和JobTracker/TaskTracker这几个角色构成。 Hadoop的DFS需要确立NameNode与DataNode角色,一般NameNode会部署到一台单独的服务器上而不与DataNode共同同一机器。另外Map/Reduce服务也需要确立JobTracker和TaskTracker的角色,一般JobTracker与NameNode共用一台机器作为master,而TaskTracker与DataNode同属于slave。至于NameNode/DataNode和JobTracker/TaskTracker的概念这里就不多讲了,需要了解的可以参看相关文档。 在这里我们使用111作为NameNode与JobTracker,其它两台机器作为DataNode和TaskTracker,具体的配置如下: 环境的配置 在$HADOOP_HOME/conf/hadoop-env.sh中定义了Hadoop启动时需要的环境变量设置,其中我们至少需要配置JAVA_HOME(Jdk的路径)变量;另外我们一般还需要更改HADOOP_LOG_DIR(Hadoop的日志路径)这个变量,默认的设置是“export HADOOP_LOG_DIR=${HADOOP_HOME}/logs”,一般需要将其配置到一个磁盘空间比较大的目录下。 Hadoop核心程序配置 Hadoop 包括一组默认配置文件($HADOOP_HOME/src目录下的 core/core-default.xml, hdfs/hdfs-default.xml 和 mapred/mapred-default.xml),大家可以先好好看看并理解默认配置文件中的那些属性。虽然默认配置文件能让Hadoop核心程序顺利启动,但对于开发人员来说一般需要自己的来设置一些常规配置以满足开发和业务的需求,所以我们需要对默认配置文件的值进行覆盖,具体方法如下。 $HADOOP_HOME/conf/core-site.xml是Hadoop的核心配置文件,对应并覆盖core-default.xml中的配置项。我们一般在这个文件中增加如下配置: Core-site.xml代码 1. 2. 3. 4. https://www.sodocs.net/doc/055487626.html, 5. hdfs://192.168.1.111:9000 6. 7.

CentOS6.6安装hadoop2.7.3教程

CentOS6.6安装Hadoop2.7.3教程大胡子工作室

目录 1 前言 (1) 2 安装准备 (1) 2.1 所需软件 (1) 2.1.1 CentOS6.6minimal (1) 2.1.2 Hadoop 2.7.3 (1) 2.2 安装规划 (1) 3 安装步骤 (2) 3.1 安装操作系统 (2) 3.2 操作系统基本配置 (13) 3.2.1 配置IP地址 (13) 3.2.2 配置hostname及网关 (14) 3.2.3 关闭selinux (15) 3.2.4 设置limit最大连接数 (15) 3.2.5 配置DNS (16) 3.2.6 配置本地hosts (17) 3.2.7 添加hadoop用户 (17) 3.2.8 关闭防火墙 (18) 3.3 安装jdk (19) 3.4 配置ssh免密码登录 (19) 3.4.1 切换hadoop用户 (20) 3.4.2 生成免登陆ssh证书 (20) 3.4.3 追加授权 (20) 3.5 配置master计算机的hadoop (22) 3.5.1 解压缩hadoop文件 (23) 3.5.2 创建存储hadoop数据文件的目录 (23) 3.5.3 设置hadoop的环境变量 (23) 3.5.4 配置core-site.xml文件 (26) 3.5.5 配置hdfs-site.xml文件 (28) 3.5.6 配置mapred-site.xml文件 (30) 3.5.7 配置yarn-site.xml文件 (32) 3.5.8 配置slaves文件 (34) 3.5.9 格式化HDFS文件系统 (34) 3.6 配置slave计算机的hadoop (34) 3.6.1 创建hadoop文件夹 (35) 3.6.2 将文件分发给slave计算机 (35) 3.6.3 设置hadoop的环境变量 (35) 4 hadoop的控制 (36) 4.1 hadoop的启动 (36) 4.2 hadoop的关闭 (36)

Hadoop集群架构搭建分析

Hadoop集群架构搭建分析 一、概述 1、集群在6台机器上搭建完成,IP与hostname设置如下: 10.8.3.240 namenode 10.8.3.246 datanode1 10.8.3.239 datanode2 10.8.3.249 datanode3 10.8.3.238 datanode4 10.8.3.251 datanode5 2、软件安装描述: Hadoop Zookeeper HBase MongoDB namenode √√√datanode1 √√ datanode2 √√ datanode3 √√ datanode4 √√ datanode5 √ 3、进程运行描述 namenode datanode1datanode2datanode3datanode4datanode5 NameNode√ DataNode√√√√√JobTracker√ TaskTracker√√√√√HMaster√ HRegionServer√ √ Secondary NameNode HQuorumPeer √√√ 注: (1)NameNode、DataNode、SecondaryNameNode是hdfs进程 (2)JobTracker、TaskTracker是mapreducer进程 (3)HMaster、HRegionServer是HBase进程 (4)HQuorumPeer是Zookeeper进程

1、设置IP 修改/etc/sysconfig/network-scripts/ifcfg-eth0文件:DEVICE=eth0 --网卡名称 BOOTPROTO=static --获取静态IP HW ADDR=00:E0:4C:F8:3B:CE --机器MAC地址 IPADDR=10.8.3.240 --IP NETMASK=255.255.255.0 --子网掩码 NETWORK=10.8.3.254 --默认网关 ONBOOT=yes 2、设置hostname 在所有机器的/etc/hosts 文件下添加: 10.8.3.240 namenode 10.8.3.246 datanode1 10.8.3.239 datanode2 10.8.3.249 datanode3 10.8.3.238 datanode4 10.8.3.251 datanode5 注:为了使机器辨别到hostname,必须重启机器。

大数据之hadoop分布式集群参数配置

hadoop分布式集群参数配置(一) ------master节点hadoop配置 上篇文章中我们已经将master节点的网络IP、hostname文件、hosts文件配置完成,接下来还有hadoop相关配置文件需要修改。 1、hdfs-site.xml 在hadoop的配置文件中与HDFS(hadoop分布式文件系统)相关的是hdfs-core.xml文件。在伪分布集群中只有一个节点,因此此节点即要有NameNode 功能也要有DataNode功能。在工作环境中这两个是不会在一个节点上的,在我们的多节点分布式集群中master只运行NameNode因此需在hdfs-site.xml文件中删除DataNode相关配置。 打开虚拟机在终端中输入cd hadoop/etc/hadoop 命令进入hadoop配置文件目录。 终端输入命令vim hdfs-site.xml进入vim编辑界面,按下图步骤删除原来伪分布集群配置的DataNode相关配置,并将数据冗余数量设置为2。 输入i进入编辑模式,编辑后的文件内容如下所示。

最后退出编辑模式,保存并退出。 2、core-site.xml 在core-site.xml中指定一个节点运行hdfs服务。在之前伪分布集群中只有一个节点,因此我们使用的是localhost,如今在集群中有三个节点,我们约定使用master。 在终端中输入vim core-site.xml按下图操作修改配置文件。

修改后内容如下所示 记得退出并保存。 3、yarn-site.xml 在yarn-site.xml 里可以修改与资源管理模块YARN相关的一些配置。 终端中输入vim yarn-site.xml进行以下更改,将资源调度管理任务放置于master节点上 最终修改后的文件内容如下图所示。

hadoopq集群搭建

疑难小结 1:HDFS进入安全模式: Name node is in safemode mode 退出安全模式, 执行命令: hadoop dfsadmin -safemode leave 2:INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable -- hadoop的本地库加载失败。 检查native库的版本信息,32bit的版本和64bit的版本在不匹配的机器上会加载失败,检查的命令是file native库依赖的glibc的版本问题。如果在高版本gcc(glibc)的机器上编译的native库,放到低版本的机器上使用,会由于glibc版本不一致导致该错误。 3: maps to localhost, but this does not map back 解决: 原因: 因为DNS服务器把 192.168.x.x 的地址都反向解析成 localhost ,而DNS服务器不是自己的,不能改。 办法: 编辑ssh 客户端的 /etc/hosts 文件,把出问题的IP 地址和主机名加进去,就不会报这样的错了。 4: jps命令正常,但是8088端口的WEB页面无法访问 解决方案: 检查一下防火墙和selinux状态, 将防火墙和selinux关闭 防火墙: service iptables status 永久修改: 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。 5: 8088端口访问正常,但是看不到datanode节点 解决方案: 可能出现的问题和解决方案: 1.8080端口没有打开, 手动启动yarn 2.8080端口被其他进程占用, kill掉占用该端口的进程, 然后重启yarn

Hadoop+Hbase集群配置

Hadoop+Hbase集群配置 Hadoop配置: 1、配置环境变量 #### JDK ENV export JAVA_HOME=/usr/local/jdk1.8.0_191 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH #### HADOOP ENV export HADOOP_HOME=/home/hbase/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/sbin export PATH=$PATH:$HADOOP_HOME/bin (以下两行最好加上,若没有启动Hadoop、hbase时都会有没加载lib成功的警告)export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" #### HBASE ENV export HBASE_HOME=/home/hbase/hbase-1.3.3 export PATH=$HBASE_HOME/bin:$PATH

(2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安装目录下 编辑vim etc/hadoop/hadoop-env.sh 加入export JAVA_HOME=/usr/local/jdk1.8.0_191 ###(jdk安装路径)编辑vim etc/hadoop/yarn-env.sh 加入export JAVA_HOME=/usr/local/jdk1.8.0_191 ####(jdk安装路径) 2、配置基本相关xml,core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml (1)配置core-site.xml,在Hadoop安装目录下编辑vi etc/hadoop/core-site.xml fs.defaultFS hdfs://wonders319:9200 hadoop.tmp.dir /home/hbase/hadoop-2.7.7/temp

hadoop.集群搭建详解

hadoop2.2.0集群搭建 PS:apache提供的hadoop-2.2.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装 hadoop-2.2.0就需要重新在64操作系统上重新编译 1.准备工作:(参考伪分布式搭建) 1.1修改Linux主机名 1.2修改IP 1.3修改主机名和IP的映射关系 1.4关闭防火墙 1.5ssh免登陆 1.6.安装JDK,配置环境变量等 2.集群规划:

PS: 在hadoop2.0中通常由两个NameNode组成,一个处于active 状态, 另一个处于standby状态。Active NameNode对外提供服务, 而Standby NameNode则不对外提供服务,仅同步active namenode 的状态,以便能够在它失败时快速进行切换。 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中, 主备NameNode之间通过一组JournalNode同步元数据信息, 一条数据只要成功写入多数JournalNode即认为写入成功。 通常配置奇数个JournalNode

这里还配置了一个zookeeper集群,用于ZKFC (DFSZKFailoverController)故障转移,当Active NameNode挂 掉了,会自动切换Standby NameNode为standby状态3.安装步骤: 3.1.安装配置zooekeeper集群 3.1.1解压 tar -zxvf zookeeper-3.4.5.tar.gz -C /cloud/ 3.1.2修改配置 cd /cloud/zookeeper-3.4.5/conf/ cp zoo_sample.cfg zoo.cfg vim zoo.cfg 修改:dataDir=/cloud/zookeeper-3.4.5/tmp 在最后添加: server.1=hadoop01:2888:3888 server.2=hadoop02:2888:3888 server.3=hadoop03:2888:3888 保存退出 然后创建一个tmp文件夹

相关主题