1 YARN-HA工作机制
- 官方文档:
http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html
- YARN-HA工作机制,如图3-23所示
![cd319484dbf3923247be054bcf5a39eb.png](https://i-blog.csdnimg.cn/blog_migrate/e521d9b658f33c149e091153370db248.jpeg)
图3-22 YARN-HA工作机制
2 配置YARN-HA集群
- 环境准备
(1)修改IP
(2)修改主机名及主机名和IP地址的映射
(3)关闭防火墙
(4)ssh免密登录
(5)安装JDK,配置环境变量等
(6)配置Zookeeper集群
- 规划集群
表3-2
hadoop102
hadoop103
hadoop104
NameNode
NameNode
JournalNode
JournalNode
JournalNode
DataNode
DataNode
DataNode
ZK
ZK
ZK
ResourceManager
ResourceManager
NodeManager
NodeManager
NodeManager
- 具体配置
(1)yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!–启用resourcemanager ha–>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!–声明两台resourcemanager的地址–>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster-yarn1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop102</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop103</value>
</property>
<!–指定zookeeper集群的地址–>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>
</property>
<!–启用自动恢复–>
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!–指定resourcemanager的状态信息存储在zookeeper集群–>
<property>
<name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
</configuration>
(2)同步更新其他节点的配置信息
- 启动hdfs
(1)在各个JournalNode节点上,输入以下命令启动journalnode服务:
sbin/hadoop-daemon.sh start journalnode
(2)在[nn1]上,对其进行格式化,并启动:
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
(3)在[nn2]上,同步nn1的元数据信息:
bin/hdfs namenode -bootstrapStandby
(4)启动[nn2]:
sbin/hadoop-daemon.sh start namenode
(5)启动所有DataNode
sbin/hadoop-daemons.sh start datanode
(6)将[nn1]切换为Active
bin/hdfs haadmin -transitionToActive nn1
- 启动YARN
(1)在hadoop102中执行:
sbin/start-yarn.sh
(2)在hadoop103中执行:
sbin/yarn-daemon.sh start resourcemanager
(3)查看服务状态,如图3-24所示
bin/yarn rmadmin -getServiceState rm1
![9ca48c337bd646894be2cdb2071306f2.png](https://i-blog.csdnimg.cn/blog_migrate/65c2870aa75adda1a11d8644d8386d90.jpeg)
图3-24 YARN的服务状态
文章来源:
尚硅谷【官网】谷粉与老学员为你推荐的Java培训|大数据培训|前端培训|Python培训www.atguigu.com![4bab73be5a7d6b9b7a0f03eef3fa333d.png](https://i-blog.csdnimg.cn/blog_migrate/5d76b7c15e7df8e501019a48e7415a28.jpeg)