RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
HadoopHA高可用集群搭建(详细)

一、准备物理集群。
1、物理集群搭建方式。
采用搭建3台虚拟机的方式来部署3个节点的物理集群。
2、虚拟机准备。
准备一个已近建好的虚拟机进行克隆。(建议为没进行过任何操作的)
在要选择克隆的虚拟机上右击鼠标,管理,克隆。
在弹出对话框中进行以下操作。
(1)、下一步。
Hadoop HA高可用集群搭建(详细)
(2)、选择虚拟机中的当前状态,下一步。
Hadoop HA高可用集群搭建(详细)
(3)、选择创建完整克隆,下一步。
Hadoop HA高可用集群搭建(详细)
(4)、输入虚拟机名称,下一步。
Hadoop HA高可用集群搭建(详细)
(5)、克隆完成。
Hadoop HA高可用集群搭建(详细)
(6)、按照上述步骤再创建一个虚拟机名称为slave02的。
3、虚拟机网络配置。
由于slave01和slave02虚拟机是克隆的,所以要修改这2台虚拟机的网卡信息。
slave01修改如下:
(1)、输入命令:vi /etc/udev/rules.d/70-persistent-net.rules
Hadoop HA高可用集群搭建(详细)
(2)、输入命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
Hadoop HA高可用集群搭建(详细)
(3)、修改主机名,输入命令:vi /etc/sysconfig/network
Hadoop HA高可用集群搭建(详细)
(4)重启系统,命令:reboot
slave02修改同slave01的,注意:IPADDR不一样,主机名不一样!!!
最后重启所有节点网卡(service network restart),使之生效,保证每台虚拟机能实现和外网连同!!!
还需禁用SELINUX:vi /etc/selinux/config
Hadoop HA高可用集群搭建(详细)
> 二、集群规划。
1、主机规划:
master00/192.168.169.159:
Namenode,Datanode,ResourceManager,Journalnode,Zookeeper
slave01/192.168.169.160:
Namenode,Datanode,ResourceManager,Journalnode,Zookeeper
slave02/192.168.169.161:
Datanode,Journalnode,Zookeeper
2、软件规划:
JDK1.8
CentOS6.5
Zookeeper3.4.6
Hadoop2.7.3
3、用户规划:
每个节点的hadoop用户组和用户需要自己创建:
master00为hadoop:hadoop
slave01为hadoop:hadoop
slave02为hadoop:hadoop
4、目录规划:
软件存放目录:/home/hadoop/app/
数据日志目录:/home/hadoop/data/
> 三、安装前准备。
1、同步当前系统时间和日期与NTP 一致:
(1)、在线安装ntp:yum install ntp
Hadoop HA高可用集群搭建(详细)
(2)、执行同步日期时间:ntpdate pool.ntp.org
Hadoop HA高可用集群搭建(详细)
(3)、查看当前系统时间:date
Hadoop HA高可用集群搭建(详细)
注意:以上命令需要在每一个节点执行!!!
2、hosts文件检查:
所有节点都需配置以下信息:vi /etc/hosts
Hadoop HA高可用集群搭建(详细)
3、禁用防火墙:chkconfig iptables off(此为永久关闭,执行后需重启)
检查:service iptables status
Hadoop HA高可用集群搭建(详细)
4、配置SSH免密码通信
(1)、配置SSH:以下为master00为例配置(slave01和slave02也要执行以下操作)
Hadoop HA高可用集群搭建(详细)
(2)、将所有节点中的id_rsa.pub复制到master00中的authorized_keys文件中
Hadoop HA高可用集群搭建(详细)
(3)、将master00中的authorized_keys文件发到所有节点上面。
slave01:
Hadoop HA高可用集群搭建(详细)
slave02:
Hadoop HA高可用集群搭建(详细)
通过SSH互相访问,若能通过无密码访问,即SSH配置成功!!!
5、脚本的使用:方便Hadoop分布式集群搭建
(1)、在master00节点上创建/home/hadoop/tools目录
Hadoop HA高可用集群搭建(详细)
(2)、将脚本上传到此目录下(可以用Xftp工具上传)
Hadoop HA高可用集群搭建(详细)

创新互联IDC提供业务:四川联通机房服务器托管,成都服务器租用,四川联通机房服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

deploy.conf脚本:https://blog.51cto.com/14572091/2442729
deploy.sh脚本:https://blog.51cto.com/14572091/2442731
runRemoteCmd.sh脚本:https://blog.51cto.com/14572091/2442728
(3)、为脚本添加权限
[hadoop@master00 tools]$ chmod u+x deploy.sh
[hadoop@master00 tools]$ chmod u+x runRemoteCmd.sh
(4)、配置PATH
Hadoop HA高可用集群搭建(详细)
(5)、在master00节点上,通过脚本,一键创建所有节点的软件安装目录
runRemoteCmd.sh "mkdir /home/hadoop/app" all
Hadoop HA高可用集群搭建(详细)
注意:如果主机名和我的不一样,需要修改deploy.conf配置文件
6、hadoop相关软件安装
(1)、JDK安装,上传JDK到app目录下,进行解压
Hadoop HA高可用集群搭建(详细)
(2),修改文件名称为jdk
Hadoop HA高可用集群搭建(详细)
(3)、添加JDK环境变量:vi /etc/profile
Hadoop HA高可用集群搭建(详细)
使配置文件生效:source /etc/profile
(4)、查看JDK是否安装成功 : java -version
Hadoop HA高可用集群搭建(详细)
出现以上结果说明master00节点的JDK安装成功。
(5)、将master00节点上的JDK安装包复制到其他节点上:deploy.sh jdk /home/hadoop/app/ slave
然后在slave01和slave02节点上重复master00节点上的JDK配置,并且检查是否成功!
7、Zookeeper安装。
(1)、上传zookeeper到app目录并且解压。
Hadoop HA高可用集群搭建(详细)
(2)、重命名为zookeeper
Hadoop HA高可用集群搭建(详细)
(3)、修改zookeeper中的配置文件
Hadoop HA高可用集群搭建(详细)
(4)、通过脚本deploy.sh将zookeeper安装目录复制到其他节点:deploy.sh zookeeper /home/hadoop/app/ slave
(5)、通过脚本runRemoteCmd.sh在所有节点上创建相关目录:
runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdata" all
runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdatalog" all
Hadoop HA高可用集群搭建(详细)

(6)、在3个节点上分别进入zkdata目录下,创建文件myid,内容分别填写为:1, 2, 3,如下图:
master00:
Hadoop HA高可用集群搭建(详细)
slave01:
Hadoop HA高可用集群搭建(详细)
slave02:
Hadoop HA高可用集群搭建(详细)
(7)、配置zookeeper环境变量
Hadoop HA高可用集群搭建(详细)
使配置生效:source /etc/profile
注意:每个节点都要进行配置!!!
(8)、在master00节点上启动zookeeper
Hadoop HA高可用集群搭建(详细)
(9)、使用runRemoteCmd.sh脚本,启动所有节点上的zookeeper:
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" zookeeper
Hadoop HA高可用集群搭建(详细)
(10)、查看所有节点上的QuorumPeerMain进程是否成功:
unRemoteCmd.sh "jps" zookeeper
Hadoop HA高可用集群搭建(详细)
(11)、查看所有节点上的zookeeper状态
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh status" zookeeper
Hadoop HA高可用集群搭建(详细)
如果一个节点为leader,其他节点为follower,说明zookeeper安装成功。
四、Hadoop集群搭建。
1、hadoop软件安装
(1)上传并解压。
Hadoop HA高可用集群搭建(详细)
(2)、重命名为hadoop
Hadoop HA高可用集群搭建(详细)
2、hadoop配置及使用HDFS
(1)修改JAVA_HOME的安装目录
Hadoop HA高可用集群搭建(详细)
Hadoop HA高可用集群搭建(详细)
(2)、配置core-site.xml文件,以下是我的配置,具体配置请参考hadoop官方文档


fs.defaultFS
hdfs://cluster1


hadoop.tmp.dir
/home/hadoop/data/tmp


ha.zookeeper.quorum
master00:2181,slave01:2181,slave02:2181


(3)、配置 hdfs-site.xml文件,以下是我的配置,具体配置请参考hadoop官方文档


dfs.replication
3


dfs.permissions
false


dfs.permissions.enabled
false


dfs.nameservices
cluster1


dfs.ha.namenodes.cluster1
master00,slave01


dfs.namenode.rpc-address.cluster1.master00
master00:9000


dfs.namenode.http-address.cluster1.master00
master00:50070


dfs.namenode.rpc-address.cluster1.slave01
slave01:9000


dfs.namenode.http-address.cluster1.slave01
slave01:50070


dfs.ha.automatic-failover.enabled
true


dfs.namenode.shared.edits.dir
qjournal://master00:8485;slave01:8485;slave02:8485/cluster1


dfs.client.failover.proxy.provider.cluster1
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


dfs.journalnode.edits.dir
/home/hadoop/data/journaldata/jn


dfs.ha.fencing.methods
shell(/bin/true)


dfs.ha.fencing.ssh.private-key-files
/home/hadoop/.ssh/id_rsa


dfs.ha.fencing.ssh.connect-timeout
10000


dfs.namenode.handler.count
100


(4)、配置slaves文件:主要配置DataNode节点所在的主机名。
Hadoop HA高可用集群搭建(详细)
(5)、向所有节点分发hadoop安装包
deploy.sh hadoop /home/hadoop/app/ slave
(6)配置hadoop环境变量
Hadoop HA高可用集群搭建(详细)
使配置生效:source /etc/profile
注意:每个节点都要进行配置!!!

(7)、启动HDFS
1)、启动所有节点上的zookeeper进程
Hadoop HA高可用集群搭建(详细)
2)、启动所有节点上的Journalnode进程
runRemoteCmd.sh "/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh start journalnode" all
Hadoop HA高可用集群搭建(详细)
3)、首先在主节点(如master00)上格式化
bin/hdfs namenode –format
Hadoop HA高可用集群搭建(详细)
bin/hdfs zkfc –formatZK
Hadoop HA高可用集群搭建(详细)
bin/hdfs namenode
4)、与此同时,需要在备节点(如slave01)上执行同步数据
bin/hdfs namenode –bootstrapStandby
Hadoop HA高可用集群搭建(详细)
5)、slave01同步数据完成后,在master00节点上按下Ctrl+C键来结束namenode进程,然后关闭所有节点上的journalnode进程
runRemoteCmd.sh "/home/hadoop/app/hadoop/sbin/hadoop-daemon.sh stop journalnode" all
6)、一键启动HDFS 相关所有进程
sbin/start-dfs.sh
7)、验证HDFS是否安装成功
在浏览器输入网址:http://master00:50070,查看Web界面
Hadoop HA高可用集群搭建(详细)
在浏览器输入网址:http://slave01:50070,查看Web界面
Hadoop HA高可用集群搭建(详细)
8)、检测HDFS是否可用
hadoop fs -mkdir /test
hadoop fs -put test.txt /test
hadoop fs -ls /test
Hadoop HA高可用集群搭建(详细)
3、Hadoop配置使用YARN
(1)、配置mapred-site.xml文件,以下是我的配置,具体配置请参考hadoop官方文档


mapreduce.framework.name
yarn


(2)、配置yarn-site.xml 文件,以下是我的配置,具体配置请参考hadoop官方文档


yarn.resourcemanager.connect.retry-interval.ms
2000


yarn.resourcemanager.ha.enabled
true


yarn.resourcemanager.ha.automatic-failover.enabled
true


yarn.resourcemanager.ha.automatic-failover.embedded
true


yarn.resourcemanager.cluster-id
yarn-rm-cluster


yarn.resourcemanager.ha.rm-ids
rm1,rm2


yarn.resourcemanager.hostname.rm1
master00


yarn.resourcemanager.hostname.rm2
slave01


yarn.resourcemanager.recovery.enabled
true


yarn.resourcemanager.zk.state-store.address
master00:2181,slave01:2181,slave02:2181


yarn.resourcemanager.zk-address
master00:2181,slave01:2181,slave02:2181


yarn.resourcemanager.address.rm1
master00:8032


yarn.resourcemanager.scheduler.address.rm1
master00:8034


yarn.resourcemanager.webapp.address.rm1
master00:8088


yarn.resourcemanager.address.rm2
slave01:8032


yarn.resourcemanager.scheduler.address.rm2
slave01:8034


yarn.resourcemanager.webapp.address.rm2
slave01:8088


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce_shuffle.class
org.apache.hadoop.mapred.ShuffleHandler


(3)、启动YARN
1)、在master00上执行启动YARN命令
sbin/start-yarn.sh
2)、在slave01上执行启动YARN命令
sbin/yarn-daemon.sh start resourcemanager
3)、在浏览器打开Web界面查看
http://master00:8088
Hadoop HA高可用集群搭建(详细)
http://slave01:8088
Hadoop HA高可用集群搭建(详细)
4)、检查ResourceManager状态
bin/yarn rmadmin -getServiceState rm1
bin/yarn rmadmin -getServiceState rm2
5)、运行WordCount测试
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/test.txt /test/out/
查看作业执行状态
Hadoop HA高可用集群搭建(详细)
如果无异常,说明YARN安装成功
至此Hadoop分布式集群搭建成功!!!


文章题目:HadoopHA高可用集群搭建(详细)
分享链接:http://cqwzjz.cn/article/gdigis.html