阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop2.7.1 HA安装部署详解

453次阅读
没有评论

共计 15089 个字符,预计需要花费 38 分钟才能阅读完成。

Hadoop 集群规划
目标:创建 2 个 NameNode,做高可用,一个 NameNode 挂掉,另一个能够启动;一个运行 Yarn,3 台 DataNode,3 台 Zookeeper 集群,做高可用。
在 hadoop2 中通常由两个 NameNode 组成,一个处于 active 状态,另一个处于 standby 状态。Active NameNode 对外提供服务,而 Standby NameNode 则不对外提供服务,仅同步 active namenode 的状态,以便能够在它失败时快速进行切换。
这里还配置了一个 zookeeper 集群,用于 ZKFC(DFSZKFailoverController)故障转移,当 Active NameNode 挂掉了,会自动切换 Standby NameNode 为 standby 状态
安装我都把 hadoop 和 Zookeeper 放到了 /soft/ 下面;
Hadoop2.7.1 HA 安装部署详解
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

Hadoop2.7.2-HA 安装笔记  http://www.linuxidc.com/Linux/2016-12/138477.htm

基于 HA 的 Hadoop2.7.1 完全分布式集群搭建 http://www.linuxidc.com/Linux/2016-12/138476.htm

Hadoop2.7.1 HA 集群部署 http://www.linuxidc.com/Linux/2016-12/138475.htm

0、系统环境安装

操作系统 CentOS6.5,64 位操作系统,采用最小化安装,为了能够实现目标,采用 VMware 虚拟机来搭建 6 台服务器,所以建议服务器至少有 8G 内存;vmware 使用的是 VMware® Workstation 11.0.0 build-2305329;
网络配置如下:
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
 
虚拟机配置如下:
 
Hadoop2.7.1 HA 安装部署详解
 

1、同步机器时间

  1. yum install -y ntp # 安装时间服务
  2. ntpdate us.pool.ntp.org # 同步时间
2、设置主机 IP
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  1. DEVICE=eth0
  2. IPADDR=192.168.8.101
  3. NETMASK=255.255.255.0
  4. GATEWAY=192.168.8.2
  5. HWADDR=00:0C:29:56:63:A1
  6. TYPE=Ethernet
  7. UUID=ecb7f947-8a93-488c-a118-ffb011421cac
  8. ONBOOT=yes
  9. NM_CONTROLLED=yes
  10. BOOTPROTO=none
然后重启网络服务
  1. service network restart
查看 ip 配置
  1. ifconfig eth0
  1. eth0 Link encap:Ethernet HWaddr 00:0C:29:6C:20:2B
  2. inet addr:192.168.8.101 Bcast:192.168.8.255 Mask:255.255.255.0
  3. inet6 addr: fe80::20c:29ff:fe6c:202b/64 Scope:Link
  4. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  5. RX packets:777 errors:0 dropped:0 overruns:0 frame:0
  6. TX packets:316 errors:0 dropped:0 overruns:0 carrier:0
  7. collisions:0 txqueuelen:1000
  8. RX bytes:70611 (68.9 KiB) TX bytes:49955 (48.7 KiB)
这就说明我们配置的 IP 地址是成功的
注意:
使用 vmware 克隆了 5 台虚拟机,配置网卡的时候出现报错:”Bring up interface eth0:Device eth0 does not seem to be present,delaying initialization”
解决步骤:
第一步 删除文件 70-persistent-net.rules
  1. rm -f /etc/udev/rules.d/70-persistent-net.rule
第二步 修改 ifcfg-eth0
  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除或者注释 MAC 地址的配置

第三步:重启 服务器

 

  1. reboot
这样就可以设置新的 ip 地址了

3、设置主机名

把一台主机的名称改为:hadoop01
  1. vi /etc/sysconfig/network
修改 hostname 就可以了:
  1. NETWORKING=yes
  2. HOSTNAME=hadoop01
  3. NETWORKING_IPV6=no
要修改 hosts
  1. vi /etc/hosts
  1. 127.0.0.1 localhost
  2. 192.168.8.101 hadoop01 192.168.8.102 hadoop02 192.168.8.103 hadoop03 192.168.8.104 hadoop04 192.168.8.105 hadoop05 192.168.8.106 hadoop06

关闭 ipv6

1、查看系统是否开启 ipv6

a)通过网卡属性查看

命令:ifconfig

注释:有“inet6 addr:。。。。。。。“的表示开启了 ipv6 功能

b)通过内核模块加载信息查看

命令:lsmod | grep ipv6

2、ipv6 关闭方法

在 /etc/modprobe.d/dist.conf 结尾添加

  1. alias net-pf-10 off
  2. alias ipv6 off

可用 vi 等编辑器,也可以通过命令:

cat <<EOF>>/etc/modprobe.d/dist.conf

 alias net-pf-10 off

 alias ipv6 off

EOF

关闭防火墙

  1. chkconfig iptables stop
  2. chkconfig iptables off

改好后重启服务器:

  1. reboot
hadoop02-hadoop06 都需要设置

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-12/138479p2.htm

4、安装 JDK

将压缩包解压到指定目录,然后编辑环境变量
  1. vi /etc/proflie
在文件后面追加环境变量
  1. export JAVA_HOME=/soft/jdk1.7.0_80/
  2. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
刷新
  1. source /etc/profile
可以用 java -version 测试安装是否正确

5、SSH 免密码登录

对于需要远程管理其它机器,一般使用远程桌面或者 telnet。linux 一般只能是 telnet。但是 telnet 的缺点是通信不加密,存在不安全因素,只适合内网访问。为
 
解决这个问题,推出了通信加密通信协议,即 SSH(Secure Shell)。使用非对称加密方式,传输内容使用 rsa 或者 dsa 加密,可以避免网络窃听。
 
Hadoop 的进程之间同信使用 ssh 方式,需要每次都要输入密码。为了实现自动化操作,需要配置 ssh 免密码登陆方式。
 
hadoop01\hadoop02 做为 NameNode,要访问到其他的节点,我们要在 hadoop01 可以访问到 hadoop01-hadoop06(记住 hadoop01 也需要免登陆自己),hadoop02 可以访问到 hadoop01,hadoop03 是 yarn 服务,要可以访问到 datanode,所以 hadoop03 要免登陆到 hadoop04-hadoop06;
首先要在 hadoop01 上生成 ssh 私钥和公钥
  1. cd /root/.ssh
  2. ssh-keygen -t rsa #4 个回车
上面的命令会在.ssh 目录生成一个私钥和一个公钥
  1. id_rsa id_rsa.pub
 
然后将 hadoop01 的公钥复制到 hadoop02-hadoop06,用以下命令执行
  1. ssh-copy-id -i hadoop01
  2. ssh-copy-id -i hadoop02
  3. ssh-copy-id -i hadoop03
  4. ssh-copy-id -i hadoop04
  5. ssh-copy-id -i hadoop05
  6. ssh-copy-id -i hadoop06
上面的命令一行一行执行,先输入 yes,再输入机器的密码就可以了;
 
现在我们来检验以一下 hadoop01 到 hadoop05 的免登陆
我们在 hadoop01 中无密码登录 hadoop05 输入:
  1. [root@hadoop01 .ssh]# ssh hadoop05
  2. Last login: Tue Nov 10 17:43:41 2015 from 192.168.8.1
  3. [root@hadoop05 ~]#
可以看到已经可以从 hadoop01 到 hadoop05 免登陆了;输入 exit 退出
接下来设置 hadoop02 到 hadoop01 的免登陆
在 hadoop02 的 /root/.ssh 中执行
  1. ssh-keygen -t rsa #4 个回车
  1. ssh-copy-id -i hadoop01
 
 
如果出现以上信息就表示配置成功了。用 exit 退出;
那现在就很方便了,不用打开多个 ssh,用一个就全搞定了;也可以配置一个 hadoop 用户,我现在都是使用 root 用户。
同里也要配置 hadoop03 到 hadoop04-hadoop06 的免登陆,这里就不列出了。
 

6、安装 zookeeper

要将 zookeeper 集群部署到 hadoop04、hadoop05、hadoop06 上,先来设置 hadoop04,操作如下
解压 zookeeper 到指定目录
  1. tar -zxvf zookeeper-3.4.6.tar.gz -C /root/soft
切换到 zookeeper 目录的 conf 目录,修改 zoo.sample.cfg 为 zoo.cfg
  1. mv zoo.sample.cfg zoo.cfg
配置 zoo.cfg
  1. vi zoo.cfg
  1. [root@hadoop04 conf]# vi zoo.cfg
  2. # The number of milliseconds of each tick
  3. tickTime=2000
  4. # The number of ticks that the initial
  5. # synchronization phase can take
  6. initLimit=10
  7. # The number of ticks that can pass between
  8. # sending a request and getting an acknowledgement
  9. syncLimit=5
  10. # the directory where the snapshot is stored.
  11. # do not use /tmp for storage, /tmp here is just
  12. # example sakes.
  13. dataDir=/soft/zookeeper-3.4.6/data
  14. # the port at which the clients will connect
  15. clientPort=2181
  16. # the maximum number of client connections.
  17. # increase this if you need to handle more clients
  18. #maxClientCnxns=60
  19. #
  20. # Be sure to read the maintenance section of the
  21. # administrator guide before turning on autopurge.
  22. #
  23. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  24. #
  25. # The number of snapshots to retain in dataDir
  26. #autopurge.snapRetainCount=3
  27. # Purge task interval in hours
  28. # Set to "0" to disable auto purge feature
  29. #autopurge.purgeInterval=1
  30. server.1=192.168.8.104:2888:3888
  31. server.2=192.168.8.105:2888:3888
  32. server.3=192.168.8.106:2888:3888
 
保存 zoo.cfg
 
server.1=192.168.8.104:2888:3888
2888 是通信端口,3888 是 zookeeper 选举端口,这里用 ip 也可以,用主机名也可以。
注意配置文件中的 datadir
dataDir=/soft/zookeeper3.4.6/data
这个目录要真实存在才可以;
接下来要在/soft/zookeeper3.4.6/data 目录中增加一个文件 ”myid”
  1. vi myid
文件里面写入 1,然后保存,这表示是 server.1;
 
好了,这样就配置好了,将配置好的拷贝到 hadoop05、hadoop06,注意要修改 data 目录中 myid 的内容为响应的 2 和 3
 
启动 hadoop04、hadoop05、hadoop06 的 zookeeper 服务
zookeeper3.4. 6 目录执行以下命令
  1. bin/zkServer.sh start # 启动
  2. bin/zkServer.sh status # 查看状态
hadoop04 的结果:
  1. [root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Mode: leader
hadoop05 的结果:
  1. [root@hadoop05 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Mode: follower
hadoop06 的结果:
  1. [root@hadoop06 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Mode: follower
接下来测试以下 zookeeper 集群,在 hadoop04 上关闭 zookeeper
  1. bin/zkServer.sh stop
hadoop04 的结果:
  1. [root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Error contacting service. It is probably not running.
  5. [root@hadoop04 zookeeper-3.4.6]#
hadoop05 的结果:
  1. [root@hadoop05 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Mode: follower
hadoop06 的结果:
  1. [root@hadoop06 zookeeper-3.4.6]# bin/zkServer.sh status
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Mode: leader
从上面结果可以看出,zookeeper 集群是没有问题的,hadoop04 挂掉,hadoop06 就变成了 leader,这说明 zookeeper 集群已经部署好了。
 

7、hadoop 安装

现在 hadoop01 上面配置好,然后再拷贝到其他机器上;
先解压 hadoop-2.7.1.tar.gz 到 soft,查看 hadoop 目录文件如下:
  1. [root@hadoop01 hadoop-2.7.1]# ls
  2. bin etc include journal lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share
所有的配置文件都存放在 etc/hadoop/ 文件夹里面

7.1、添加 hadoop 目录到环境变量

在 /etc/profile 文件中增加 HADOOP_HOME,如下所示
  1. export JAVA_HOME=/soft/jdk1.7.0_80/
  2. export HADOOP_HOME=/soft/hadoop-2.7.1
  3. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
应用环境变量
  1. source /etc/profile
可以用方法测试是否正确
  1. [root@hadoop01 hadoop-2.7.1]# which hadoop
  2. /soft/hadoop-2.7.1/bin/hadoop

7.2、配置 hadoop-env.sh

  1. vim hadoop-env.sh
修改一个地方就可以,找到 JAVA_HOME,改成第 4 章中 jdk 的路径就可以了
  1. export JAVA_HOME=/soft/jdk1.7.0_80/
保存即可。
 

7.3、配置 core-site.xml

这一步是配置 nameservice,hadoop 文件存储位置和 Zookeeper 集群来确保多个 namenode 之间的切换,修改后内容如下:
  1. <configuration>
  2. <!-- 指定 hdfs 的 nameservice 为 ns1 -->
  3. <property>
  4. <name>fs.defaultFS</name>
  5. <value>hdfs://ns1</value>
  6. </property>
  7. <!-- 指定 hadoop 临时目录 -->
  8. <property>
  9. <name>hadoop.tmp.dir</name>
  10. <value>/soft/hadoop-2.7.1/tmp</value>
  11. </property>
  12. <!-- 指定 zookeeper 地址 -->
  13. <property>
  14. <name>ha.zookeeper.quorum</name>
  15. <value>hadoop04:2181,hadoop05:2181,hadoop06:2181</value>
  16. </property>
  17. </configuration> 
Hadoop 集群规划
目标:创建 2 个 NameNode,做高可用,一个 NameNode 挂掉,另一个能够启动;一个运行 Yarn,3 台 DataNode,3 台 Zookeeper 集群,做高可用。
在 hadoop2 中通常由两个 NameNode 组成,一个处于 active 状态,另一个处于 standby 状态。Active NameNode 对外提供服务,而 Standby NameNode 则不对外提供服务,仅同步 active namenode 的状态,以便能够在它失败时快速进行切换。
这里还配置了一个 zookeeper 集群,用于 ZKFC(DFSZKFailoverController)故障转移,当 Active NameNode 挂掉了,会自动切换 Standby NameNode 为 standby 状态
安装我都把 hadoop 和 Zookeeper 放到了 /soft/ 下面;
Hadoop2.7.1 HA 安装部署详解
http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

Hadoop2.7.2-HA 安装笔记  http://www.linuxidc.com/Linux/2016-12/138477.htm

基于 HA 的 Hadoop2.7.1 完全分布式集群搭建 http://www.linuxidc.com/Linux/2016-12/138476.htm

Hadoop2.7.1 HA 集群部署 http://www.linuxidc.com/Linux/2016-12/138475.htm

0、系统环境安装

操作系统 CentOS6.5,64 位操作系统,采用最小化安装,为了能够实现目标,采用 VMware 虚拟机来搭建 6 台服务器,所以建议服务器至少有 8G 内存;vmware 使用的是 VMware® Workstation 11.0.0 build-2305329;
网络配置如下:
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
Hadoop2.7.1 HA 安装部署详解
 
虚拟机配置如下:
 
Hadoop2.7.1 HA 安装部署详解
 

1、同步机器时间

  1. yum install -y ntp # 安装时间服务
  2. ntpdate us.pool.ntp.org # 同步时间
2、设置主机 IP
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  1. DEVICE=eth0
  2. IPADDR=192.168.8.101
  3. NETMASK=255.255.255.0
  4. GATEWAY=192.168.8.2
  5. HWADDR=00:0C:29:56:63:A1
  6. TYPE=Ethernet
  7. UUID=ecb7f947-8a93-488c-a118-ffb011421cac
  8. ONBOOT=yes
  9. NM_CONTROLLED=yes
  10. BOOTPROTO=none
然后重启网络服务
  1. service network restart
查看 ip 配置
  1. ifconfig eth0
  1. eth0 Link encap:Ethernet HWaddr 00:0C:29:6C:20:2B
  2. inet addr:192.168.8.101 Bcast:192.168.8.255 Mask:255.255.255.0
  3. inet6 addr: fe80::20c:29ff:fe6c:202b/64 Scope:Link
  4. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  5. RX packets:777 errors:0 dropped:0 overruns:0 frame:0
  6. TX packets:316 errors:0 dropped:0 overruns:0 carrier:0
  7. collisions:0 txqueuelen:1000
  8. RX bytes:70611 (68.9 KiB) TX bytes:49955 (48.7 KiB)
这就说明我们配置的 IP 地址是成功的
注意:
使用 vmware 克隆了 5 台虚拟机,配置网卡的时候出现报错:”Bring up interface eth0:Device eth0 does not seem to be present,delaying initialization”
解决步骤:
第一步 删除文件 70-persistent-net.rules
  1. rm -f /etc/udev/rules.d/70-persistent-net.rule
第二步 修改 ifcfg-eth0
  1. vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除或者注释 MAC 地址的配置

第三步:重启 服务器

 

  1. reboot
这样就可以设置新的 ip 地址了

3、设置主机名

把一台主机的名称改为:hadoop01
  1. vi /etc/sysconfig/network
修改 hostname 就可以了:
  1. NETWORKING=yes
  2. HOSTNAME=hadoop01
  3. NETWORKING_IPV6=no
要修改 hosts
  1. vi /etc/hosts
  1. 127.0.0.1 localhost
  2. 192.168.8.101 hadoop01 192.168.8.102 hadoop02 192.168.8.103 hadoop03 192.168.8.104 hadoop04 192.168.8.105 hadoop05 192.168.8.106 hadoop06

关闭 ipv6

1、查看系统是否开启 ipv6

a)通过网卡属性查看

命令:ifconfig

注释:有“inet6 addr:。。。。。。。“的表示开启了 ipv6 功能

b)通过内核模块加载信息查看

命令:lsmod | grep ipv6

2、ipv6 关闭方法

在 /etc/modprobe.d/dist.conf 结尾添加

  1. alias net-pf-10 off
  2. alias ipv6 off

可用 vi 等编辑器,也可以通过命令:

cat <<EOF>>/etc/modprobe.d/dist.conf

 alias net-pf-10 off

 alias ipv6 off

EOF

关闭防火墙

  1. chkconfig iptables stop
  2. chkconfig iptables off

改好后重启服务器:

  1. reboot
hadoop02-hadoop06 都需要设置

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2016-12/138479p2.htm

7.4、配置 hdfs-site.xml

hdfs-site.xml 主要配置 namenode 的高可用;
内容如下:
  1. <configuration>
  2. <!-- 指定 hdfs 的 nameservice 为 ns1,需要和 core-site.xml 中的保持一致 -->
  3. <property>
  4. <name>dfs.nameservices</name>
  5. <value>ns1</value>
  6. </property>
  7. <!-- ns1 下面有两个 NameNode,分别是 nn1,nn2 -->
  8. <property>
  9. <name>dfs.ha.namenodes.ns1</name>
  10. <value>nn1,nn2</value>
  11. </property>
  12. <!-- nn1 的 RPC 通信地址 -->
  13. <property>
  14. <name>dfs.namenode.rpc-address.ns1.nn1</name>
  15. <value>Hadoop01:9000</value>
  16. </property>
  17. <!-- nn1 的 http 通信地址 -->
  18. <property>
  19. <name>dfs.namenode.http-address.ns1.nn1</name>
  20. <value>hadoop01:50070</value>
  21. </property>
  22. <!-- nn2 的 RPC 通信地址 -->
  23. <property>
  24. <name>dfs.namenode.rpc-address.ns1.nn2</name>
  25. <value>hadoop02:9000</value>
  26. </property>
  27. <!-- nn2 的 http 通信地址 -->
  28. <property>
  29. <name>dfs.namenode.http-address.ns1.nn2</name>
  30. <value>hadoop02:50070</value>
  31. </property>
  32. <!-- 指定 NameNode 的元数据在 JournalNode 上的存放位置 -->
  33. <property>
  34. <name>dfs.namenode.shared.edits.dir</name>
  35. <value>qjournal://hadoop04:8485;hadoop05:8485;hadoop06:8485/ns1</value>
  36. </property>
  37. <!-- 指定 JournalNode 在本地磁盘存放数据的位置 -->
  38. <property>
  39. <name>dfs.journalnode.edits.dir</name>
  40. <value>/soft/hadoop-2.7.1/journal</value>
  41. </property>
  42. <!-- 开启 NameNode 失败自动切换 -->
  43. <property>
  44. <name>dfs.ha.automatic-failover.enabled</name>
  45. <value>true</value>
  46. </property>
  47. <!-- 配置失败自动切换实现方式 -->
  48. <property>
  49. <name>dfs.client.failover.proxy.provider.ns1</name>
  50. <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  51. </property>
  52. <!-- 配置隔离机制 -->
  53. <property>
  54. <name>dfs.ha.fencing.methods</name>
  55. <value>sshfence</value>
  56. </property>
  57. <!-- 使用隔离机制时需要 ssh 免登陆 -->
  58. <property>
  59. <name>dfs.ha.fencing.ssh.private-key-files</name>
  60. <value>/root/.ssh/id_rsa</value>
  61. </property>
  62. </configuration>
保存即可。
 

7.4、配置 datanode 的配置文件 slaves

  1. vi slaves
修改 datanode 节点如下:
  1. hadoop04
  2. hadoop05
  3. hadoop06
保存即可。
 

7.5、配置 mapreduce 文件 mapred-site.xml

默认是没有 mapred-site.xml 文件的,里面有一个 mapred-site.xml.example, 重命名为 mapred-site.xml
  1. mv mapred-site.xml.example mapred-site.xml
配置内容如下,这里就是指明 mapreduce 是用在 YARN 之上来执行的。
  1. <configuration>
  2. <!-- 指定 mr 框架为 yarn 方式 -->
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. </property>
  7. </configuration>

7.6、配置 yarn-site.xml

做规划的时候就是配置 hadoop03 来运行 yarn,配置如下:
  1. <configuration>
  2.         <!-- 指定 resourcemanager 地址 -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>hadoop03</value>
  6. </property>
  7. <!-- 指定 nodemanager 启动时加载 server 的方式为 shuffle server -->
  8. <property>
  9. <name>yarn.nodemanager.aux-services</name>
  10. <value>mapreduce_shuffle</value>
  11. </property>
  12. </configuration>
 
到目前为止就已经配置好 hadoop01 了,要将配置好的 hadoop 文件拷贝到 hadoop02-hadoop06 上,cd 到 soft 目录
  1. scp -r hadoop2.7.1 hadoop02:/soft/
  2. scp -r hadoop2.7.1 hadoop03:/soft/
  3. scp -r hadoop2.7.1 hadoop04:/soft/
  4. scp -r hadoop2.7.1 hadoop05:/soft/
  5. scp -r hadoop2.7.1 hadoop06:/soft/
 

7.7、启动 Zookeeper 服务

在 hadoop04、hadoop05、hadoop06 上启动 Zookeeper,下面以 hadoop04 为例
  1. [root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh start
  2. JMX enabled by default
  3. Using config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
确保这三台服务器上有一个 leader,两个 follower
 

7.8、在 hadoop01 上启动 journalnode

  1. [root@hadoop01 hadoop-2.7.1]# sbin/hadoop-daemons.sh start journalnode
在 7.4 中配置了 journalnode 的节点是 hadoop04、hadoop05、hadoop06,这三台机器上会出现JournalNode,以下是 hadoop04 上的进程
  1. [root@hadoop04 zookeeper-3.4.6]# jps
  2. 1532 JournalNode
  3. 1796 Jps
  4. 1470 QuorumPeerMain
 

7.9、在 hadoop01 上格式化 hadoop

  1. hadoop namenode -format
格式化后会在根据 7.3 中 core-site.xml 中的 hadoop.tmp.dir 配置生成个文件,在 hadoop01 中会出现一个 tmp 文件夹,/soft/hadoop-2.7.1/tmp,现在规划的是 hadoop01 和 hadoop02 是 NameNode,然后将 /soft/hadoop-2.7.1/tmp 拷贝到 hadoop02:/soft/hadoop-2.7.1/ 下,这样 hadoop02 就不用格式化了。
  1. scp -r tmp/ hadoop02:/soft/hadoop-2.7.1/
 

7.10、在 hadoop01 上格式化 ZK

  1. hdfs zkfc -formatZK

7.11、在 hadoop01 上 启动 HDFS

  1. sbin/start-dfs.sh

7.12   在 hadoop01 上启动 YARN

  1. sbin/start-yarn.sh
如果没有出错,hadoop 的高可用就配置完成了;
 

8、使用 hadoop 集群测试

在本机中配置 hosts 文件(不是 VMware 虚拟机)
文件路径:C:\Windows\System32\drivers\etc\hosts
内容如下:
  1. 192.168.8.101 hadoop01
  2. 192.168.8.102 hadoop02
  3. 192.168.8.103 hadoop03
  4. 192.168.8.104 hadoop04
  5. 192.168.8.105 hadoop05
  6. 192.168.8.106 hadoop06
在浏览器中输入:http://hadoop01:50070/,就可以看到如下界面
Hadoop2.7.1 HA 安装部署详解
 
 
 
 
查看 hadoop02:http://hadoop02:50070/
Hadoop2.7.1 HA 安装部署详解
 
上面可以看到 hadoop01 是处于 active 状态,hadoop02 是初一 standby,接下来测试以下 namenode 的高可用,当 hadoop01 挂掉时 hadoop02 是否能够自动切换;
在 hadoop01 中 kill 掉 NameNode 进程
  1. [root@hadoop01 hadoop-2.7.1]# jps
  2. 1614 NameNode
  3. 2500 Jps
  4. 1929 DFSZKFailoverController
  5. [root@hadoop01 hadoop-2.7.1]# kill -9 1614
刷新 http://hadoop01:50070/,无法访问,
Hadoop2.7.1 HA 安装部署详解
刷新 http://hadoop02:50070/
Hadoop2.7.1 HA 安装部署详解
这是 hadoop02 已经处于 active 状态了,这说明我们的切换是没有问题的,现在已经完成了 hadoop 集群的高可用的搭建;

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138479.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计15089字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7976406
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...