1.YARN的产生背景
2.YARN的执行流程
3.YARN的概述
4.YARN的环境搭建
5.YARN的架构
6.如何提交作业到YaRN上执行
YARN的产生MapReduce1.x存在多种问题单节点故障&节点压力大&不支持除了MapReduce之外的计算框架
MapReduce:Master/Slave架构 1个JobTracker带多个TaskTrack
JobTracker :负责资源管理和作业调度
TaskTracker : 定期向JT汇报本节点的健康状况,资源使用情况,作业执行情况
接收来自JT的命令:启动任务/杀死任务
YARN资源的利用率&运维成本
集群多且资源利用率低&运维成本高&数据移动成本高催生了UARN
YARN:不同的计算框架可以享受同一个HDFS集群上的数据,享受整体的资源调度
xxx on YARN 的好处 :与其他计算框架共享集群资源,按资源需要分配:进而提高集群资源的利用率
xx :Spark/MapReduce/Strom/Flink
YARN的概述
Yet Another Resource Negotiator
通用的资源管理系统
为上层应用提供统一的资源管理和调度'
YARN的架构
YARN架构:
1)ResourceManageer:RM
整个集群提供服务的RM只有一个,负责整个集群的统一资源的统一管理和调度/工业上实际有两个
处理客户端的请求:提交一个作业,杀死一个作业
监控NM,一旦某个NM挂了,那么该NM运行的任务需要告诉AM来如何处理
2)NodeManager:NM
整个集群中有多个,负责自身的资源管理和使用
定时向RM汇报本节点的使用情况
接受并处理来自RM的各种命令,启动Container
处理来自AM的命令
单个节点资源管理是由自己来完成的
3)ApplicationMaster:AM
每个应用程序对应一个:MR,spark,负责应用程序的管理
为应用程序向RM申请资源(core,memory),分配给内部task
需要与NM通信:启动/停止task是运行在Container里面,AM也是运行在Container里面
4)Container
封装了CPU,Memory等资源的一个容器
5)Client
提交作业
查询作业的运行精度
杀死作业
YARN的作业应用
通用架构,无论是改哪个,它就改MapReduceApplicationMaster或者为SparkApplicationMaster
YARN环境搭建
hadoop-2.6.0-cdh5.7.0
yarn-site.xml
mapred-site.xml
YARN ON Single Node
1)
marpred-site.xml
2)yarn-site.xml
如果在Spark则将marpreduce_shuffle 改为 spqrk_shuffle
3)启动进程
Sbin/start-yarn.sh
4)验证
jps
http://hadoop000:8088
5)
停止YARN相关的进程
Sbin/stop-yarn.sh
MapReduce提交作业到YARN上运行
hadoop-mapReduce-examples-2.6.0-5.7.0
这行命令是算Pi的
hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3
这是hadoop UI展示的hadoop的运行状态