关于MapReduce的工作原理详解:
https://www.cnblogs.com/laowangc/p/8961946.html
上一次搭建HDFS的HA时的设计如下:
这次YARN的HA的架构设计如下:
实际上RS配置在node12好一些,毕竟文本块在node12上,但是我们这里node12压力大,所以RS放在node34上
YARN的HA的搭建是基于上一篇HDFS的HA的搭建的基础上,也就是NN,DN,JN,ZK,ZKFC已经配置完成
1、关闭Hadoop集群
#stop-dfs.sh
zookeeper不管它
2、配置YARN
这是做单节点上的YARN配置,可以查看以下链接的官方文档:
1. 修改 /usr/local/hadoop252/etc/hadoop/mapred-site.xml
mapred-site.xml是从mapred-site.xml.template复制来
# cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.修改 /usr/local/hadoop252/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3. YARN的启动与停止
sbin/start-yarn.sh 启动
sbin/stop-yarn.sh 停止
3、对Resource Manager做HA配置
在yarn-site.xml中加入以下配置
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>master2</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>zk1:2181,zk2:2181,zk3:2181</value>
</property>
4、对node2,node3,node4同步配置
scp ./*.xml node2:`pwd`
scp ./*.xml node3:`pwd`
scp ./*.xml node4:`pwd`
执行以上命令要确认是在/usr/local/hadoop252/etc/hadoop下
5、启动集群
启动顺序:①先确保zk启动,②nameNode,③dataNode,④zkfc,⑤yarn,⑥resourceManager,⑦nodeManager
1)确认zookeeper是否启动
zkServer.sh start
2)在node1上执行start-all.sh或者执行 start-dfs.sh 和 start-yarn.sh
3)在node34上启动ResourceManager
建议这个需要的时候才启动,如果只需要使用Hadoop做存储,就不需要启动,如果要进行计算,才启动。启动后会占用资源
yarn-daemon.sh start resourcemanager
4)然后jps查看一下进程,对着最上面的规划表数一数进程是否能对上
5)分别查看node3和node4上的端口占用情况
可以通过 http://node3:8088/ 访问 ResourceManager
6)关闭node3的RM,看一下node4是否会接管服务
yarn-daemon.sh stop resourcemanager
到这里,整个集群就搭建完成了