从0开始搭建Hadoop2.x高可用集群(YARN篇)
- 演示目标
- 演示环境
- 准备YARN
- 配置yarn-site.xml
- 配置mapred-site.xml
- 拷贝配置
- 启动YARN集群
- 验证高可用(HA)
演示目标
搭建双ResourceManager节点的高可用集群。当主节点发生故障时,standby节点能自动接管并切换为主节点。在开始之前,请确保HDFS环境已搭建完毕,可参考从0开始搭建Hadoop2.x高可用集群(HDFS篇)。
演示环境
软件 | 备注 |
---|
VMware Workstation | 15.5 |
CentOS | CentOS-7-x86_64-DVD-1804.iso |
JDK | jdk-8u211-linux-x64.tar.gz |
Hadoop | hadoop-2.6.5.tar.gz |
Zookeeper | zookeeper-3.4.14.tar.gz |
下载地址 | 若有需要请按需下载上述软件 |
准备YARN
| ResourceManager | NodeManager | Zookeeper |
---|
vm1 | ✔ | ✔ | ✔ |
vm2 | ✔ | ✔ | ✔ |
vm3 | | ✔ | ✔ |
配置yarn-site.xml
使用虚拟机vm1执行下列命令
cd /opt/hadoop-2.6.5/etc/hadoop
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarn-cluster</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>vm1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>vm2</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>vm1:2181,vm2:2181,vm3:2181</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
<value>3600</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
配置mapred-site.xml
使用虚拟机vm1执行下列命令
cd /opt/hadoop-2.6.5/etc/hadoop
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
拷贝配置
使用虚拟机vm1执行下列命令
scp -rp /opt/hadoop-2.6.5/etc/hadoop root@vm2:/opt/hadoop-2.6.5/etc/
scp -rp /opt/hadoop-2.6.5/etc/hadoop root@vm3:/opt/hadoop-2.6.5/etc/
启动YARN集群
- 在启动YARN集群之前,应该优先启动Zookeeper与HDFS集群。
- 在启动过程中,如果有问题,应该优先查看日志。
- 查看日志可以使用
tail -f -n 100 /xx/xxx
进行查看; - Zookeeper日志查看zookeeper.out文件;
- YARN日志查看Hadoop根目录下的logs文件夹;
使用虚拟机vm1执行下列命令
start-yarn.sh
使用虚拟机vm2执行下列命令
yarn-daemon.sh start resourcemanager
验证高可用(HA)
- 在Windows中使用浏览器打开两个ResourceManager的地址:
http://192.168.0.51:8088
http://192.168.0.52:8088
- 如图所示,此时vm1虚拟机上的ResourceManager为主节点,并且访问从节点时会自动重定向到主节点(重定向时使用的是hostname作为域名,如果无法访问,请在Windows的hosts文件中进行配置)。
- 杀死主节点的ResourceManager,此时是vm1上的ResourceManager。
使用虚拟机vm1执行下列命令
jps
10337 QuorumPeerMain
10753 JournalNode
12818 Jps
10470 NameNode
11702 ResourceManager
11798 NodeManager
10921 DFSZKFailoverController
10575 DataNode
kill -9 11702
- 刷新
http://192.168.0.52:8088
,检查状态是否已不需要跳转而是直接可以访问。 - 检查NodeManager是否已经接管,如图所示:
- 如果以上步骤都没问题,则YARN高可用集群搭建完毕,如果存在问题,请检查以下几点:
- 检查Zookeeper和Hadoop的配置文件是否正确配置、日志是否有错误输出;
- 检查jps命令显示的服务数是否正确;
- 检查HDFS集群是否正常启动。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)