YARN资源调度
-
client提交任务时启动yarnRunner向resourcemanager申请一个计算任务(applocaltion)
-
resourcemanager接受到请求之后判断可以提交之后返回jobid和一个公共资源路径
-
client此时提交jar包,切片信息和配置文件的指定路径
-
请求resourcemanager运行此job的专用appMaster
-
这时候resourcemanager会把appMaster初始化成为一个task,并且会有一个节点运行当前appMaster
-
某个节点领取到appMaster会初始化出一个container并下载资源到运行appMaster节点上
-
appMaster会再次向resourcemanager申请mapTask容器,
-
resourcemanager会再次把appMaster初始化成为一个task,
由空闲的nodeManager领取mapTask任务,并下载当前任务资源以及初始化一个container
-
appMaster监控其他节点是否已经初始化好container并且下载好所需要的资源,完成之后会发送程序启动脚本执行当前任务,如果运行过程中任务失败,会重复申请资源,直到完成任务
-
申请运行reduceTask
-
reduceTask任务会跨节点拉去mapTask已经处理好的数据
-
最后appMaster会向resourcemanager申请注销并释放资源
向resourcemanager申请注销并释放资源