yarn负责集群资源管理,用yarn方式管理mapreducer:
客户端提交jar至resourcemanager,resourcemanager分发jar包,NodeManager中的App Mstr组件负责执行,并向resourcemanger请求资源,App Mstr执行的状态向nodemanager汇报。
nodemanager(负责任务的调度和执行)与datanode在同一台机器上,nodemanager中的container组件监控资源.
搭建yarn环境:
1.1.vi yarn-site.xml,内容如下:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--不用和hdfs的nameservices名字重复就行 -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>aaa</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!--resoucemanager节点 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>node01</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>node04</value>
</property>
<!--zookeeper节点 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>node01:2181,node02:2181,node03:2181</value>
</property>
1.2.vi mapred-site.xml,内容如下:
<!--mapreduce执行环节是在yarn中 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
1.3 在node01上执行start-yarn.sh,在node04的手动启动备用的resourceManager,命令:yarn-daemon.sh start resourcemanager
1.4 页面url访问:node01:8088,http方式监控resourcemanager页面。
如图: