从0开始搭建Hadoop2.x高可用集群(YARN篇)

演示目标

搭建双ResourceManager节点的高可用集群。当主节点发生故障时,standby节点能自动接管并切换为主节点。在开始之前,请确保HDFS环境已搭建完毕,可参考从0开始搭建Hadoop2.x高可用集群(HDFS篇)

演示环境

软件备注
VMware Workstation15.5
CentOSCentOS-7-x86_64-DVD-1804.iso
JDKjdk-8u211-linux-x64.tar.gz
Hadoophadoop-2.6.5.tar.gz
Zookeeperzookeeper-3.4.14.tar.gz
下载地址若有需要请按需下载上述软件

准备YARN

  • 节点部署情况:
ResourceManagerNodeManagerZookeeper
vm1
vm2
vm3

配置yarn-site.xml

使用虚拟机vm1执行下列命令

# 进入Hadoop配置文件目录
cd /opt/hadoop-2.6.5/etc/hadoop
# 编辑yarn-site.xml
vim yarn-site.xml
<!-- 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执行下列命令

# 进入Hadoop配置文件目录
cd /opt/hadoop-2.6.5/etc/hadoop
# 编辑mapred-site.xml
vim mapred-site.xml
<!-- mapred-site.xml文件配置如下 -->
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

拷贝配置

使用虚拟机vm1执行下列命令

# 将vm1上配置好的配置文件拷贝到vm2和vm3
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执行下列命令

# 启动YARN主节点
start-yarn.sh

使用虚拟机vm2执行下列命令

# 启动所有YARN从节点
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文件中进行配置)。
    验证高可用(1)
    验证高可用(2)
  • 杀死主节点的ResourceManager,此时是vm1上的ResourceManager。

使用虚拟机vm1执行下列命令

# 查看ResourceManager的pid
jps
# 显示结果如下
10337 QuorumPeerMain
10753 JournalNode
12818 Jps
10470 NameNode
11702 ResourceManager
11798 NodeManager
10921 DFSZKFailoverController
10575 DataNode
# 杀掉ResourceManager
kill -9 11702
  • 刷新http://192.168.0.52:8088,检查状态是否已不需要跳转而是直接可以访问。
  • 检查NodeManager是否已经接管,如图所示:
    验证高可用(3)
  • 如果以上步骤都没问题,则YARN高可用集群搭建完毕,如果存在问题,请检查以下几点:
    • 检查Zookeeper和Hadoop的配置文件是否正确配置、日志是否有错误输出;
    • 检查jps命令显示的服务数是否正确;
    • 检查HDFS集群是否正常启动。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值