MapReduce1.x存在的问题:单点故障&节点压力大不易扩展。node
资源利用率&成本架构
催生了YARN的诞生 框架
不一样计算框架能够共享同一个HDFS集群上的数据,享受总体的资源调度。oop
XXX on YARN的好处:与其余计算框架共享集群资源,按资源须要分配,进而提升集群资源的利用率。spa
XXX:Spark/MapReduce/Storm/Flink3d
1 Yet Another Resource Negotiatorcode
2 通用资源管理系统orm
3 为上层应用提供统一的资源管理和调度xml
1 ResourceMananger:RMblog
整个集群提供服务的RM只有一个(生产中有两个,一个主,一个备),负责集群资源的统一管理和调度。
|-- 处理客户端的请求:提交一个做业、杀死一个做业。
|--监控NM,一旦某个NM挂了,那么该NM上运行的任务须要告诉AM如何进行处理。
2 NodeManager:NM
整个集群中有多个,负责本身自己节点资源管理和使用。
|--定时向RM汇报本节点的资源使用状况。
|--接收并处理来自RM的各类命令:启动Container等。
|--处理来自AM的命令。
|--单个节点的资源管理。
3 ApplicationMaster:AM
每个应用程序对应一个:MR、Spark,负责应用程序的管理。
|--为每一个应用程序向RM申请资源(core、memory),分配给内部task。
|--须要与NM通讯:启动/中止task,task是运行在Container里面,AM也是运行在Container里面。
4 Container
|--封装了CPU、Memory等资源的一个容器
|--是一个任务运行环境的抽象。
5 Client
|--提交做业。
|--查询做业的运行进度。
|--杀死做业。
1 yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
2 mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3 启动YARN相关的进程
sbin/start-yarn.sh
4 验证
|-- jps
|--ResourceManager
|--NodeManager
|-- http://master01:8088/
5 中止YARN相关的进程
sbin/stop-yarn.sh
命令:
hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3 //前者是Map的数量,后者是取样的数量