Yarn本质及机制
Yarn是一个资源管理和调度的框架.主要进程包括:ResourceManager,NodeManager.
ResourceManager将各个资源部分(计算、内存、带宽等)精心安排给NodeManager(Yarn分布在各节点上的进程)。ApplicationMaster(应用程序)管理一个在 Yarn 内运行的应用程序的每个实例。ApplicationMaster 负责协调来自 ResourceManager的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配).
Yarn是一个集群,所以在各个节点上都需配置.也算一个配置型框架.
Yarn之ResourceManager
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各ApplicationManager(应用程序)。
Yarn之NodeManager
NodeManager是Yarn在每个节点上的代理进程,主要包括与ResourceManger保持通信,监督Container的生命周期管理,监控每个Container的资源使用(内存、CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务.
Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息
Yarn的HA配置
Yarn参数注:配置Yarn之前,hadoop,JDK啥得得配置好,能够正常运行!
配置NodeManager
<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的地址,因为HA,所以配两个
<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>
配置好之后,启动hadoop下sbin里面的start-yarn.sh脚本
这是我配置的全路径: sh /opt/modules/hadoop-2.5.0-cdh5.3.6/sbin/start-yarn.sh
然后在其他各节点JPS下能够看到NodeManager,就OK了!
网友评论