YARN资源调度

yarn资源调度

  1. client提交任务时启动yarnRunner向resourcemanager申请一个计算任务(applocaltion)

  2. resourcemanager接受到请求之后判断可以提交之后返回jobid和一个公共资源路径

  3. client此时提交jar包,切片信息和配置文件的指定路径

  4. 请求resourcemanager运行此job的专用appMaster

  5. 这时候resourcemanager会把appMaster初始化成为一个task,并且会有一个节点运行当前appMaster

  6. 某个节点领取到appMaster会初始化出一个container并下载资源到运行appMaster节点上

  7. appMaster会再次向resourcemanager申请mapTask容器,

  8. resourcemanager会再次把appMaster初始化成为一个task,

    由空闲的nodeManager领取mapTask任务,并下载当前任务资源以及初始化一个container

  9. appMaster监控其他节点是否已经初始化好container并且下载好所需要的资源,完成之后会发送程序启动脚本执行当前任务,如果运行过程中任务失败,会重复申请资源,直到完成任务

  10. 申请运行reduceTask

  11. reduceTask任务会跨节点拉去mapTask已经处理好的数据

  12. 最后appMaster会向resourcemanager申请注销并释放资源

向resourcemanager申请注销并释放资源

相关文章: