放弃很简略,但保持肯定很酷
YARN-HA 集群配置
YARN-HA 工作机制
1. 官网文档
http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html
2. 工作机制图
其实就是配置多台 RM 保障集群高可用,操作和上个文档差不多
配置 YARN-HA 集群
1. 环境筹备
(1)批改 IP
(2)批改主机名及主机名和 IP 地址的映射
(3)敞开防火墙
(4)ssh 免密登录
(5)装置 JDK,配置环境变量等
(6)配置 Zookeeper 集群
2. 布局集群
原本的 RM 是在 hadoop103,当初在 hadoop102 也配置一个
hadoop102 | hadoop103 | hadoop104 |
---|---|---|
NameNode | NameNode | |
JournalNode | JournalNode | JournalNode |
DataNode | DataNode | DataNode |
ZK | ZK | ZK |
ResourceManager | ResourceManager | |
NodeManager | NodeManager | NodeManager |
3. 具体配置
(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)同步更新其余节点的配置信息
4. 启动 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
5. 启动 YARN
(1)在 hadoop102 中执行:
sbin/start-yarn.sh
(2)在 hadoop103 中执行:
sbin/yarn-daemon.sh start resourcemanager
(3)查看服务状态,如图 3 -24 所示
bin/yarn rmadmin -getServiceState rm1
相干材料