1、规划集群
hadoop102 | hadoop103 | hadoop104 |
---|---|---|
NameNode | NameNode | "" |
JournalNode | JournalNode | JournalNode |
DataNode | DataNode | DataNode |
ZK | ZK | ZK |
"" | ResourceManager | ResourceManager |
NodeManager | NodeManager | NodeManager |
2、修改配置
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<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>hadoop103</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>hadoop104</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>
mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
分发hadoop
[yinggu@hadoop102 HA]$ scp -r hadoop-2.7.2/ yinggu@hadoop103:/opt/module/HA/
[yinggu@hadoop102 HA]$ scp -r hadoop-2.7.2/ yinggu@hadoop104:/opt/module/HA/
3、启动yarn
[yinggu@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
[yinggu@hadoop104 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
4、查看状态
[yinggu@hadoop104 hadoop-2.7.2]$ bin/yarn rmadmin -getServiceState rm1
[yinggu@hadoop104 hadoop-2.7.2]$ bin/yarn rmadmin -getServiceState rm2