YARN的工作机制

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83870099

在这里插入图片描述

  1. 客户端的应用程序 jar包 切片 配置文件
    在这里插入图片描述
    客户端申请一个application
    RM返回一个application资源提交路径 以及application_id
    在这里插入图片描述

  2. 提交job运行所需的资源
    在这里插入图片描述

  3. 提交资源完毕,申请运行mrAppMaster

  4. ResourceManager将用户的请求初始化为一个task
    FIFO调度队列. 容量调度器

  5. NodeManager 接受到task任务

  6. NodeManager创建容器Container cpu 内存 IO —>序列化过程
    在这里插入图片描述

  7. 开始下载job资源到本地
    如果程序是多个mapTask

  8. 再向ResourceManager申请运行maptask容器

  9. 领取到任务创建容器
    NodeManager ----> Container (cpu,io)

  10. 开始发动启动脚本,将多个MapTask同时开始工作

  11. maptask YarnChild进程运行
    在这里插入图片描述
    放在磁盘上

  12. ReduceTask开始工作,工作时候需要容器 向RM申请NM容器运行ReduceTask

  13. Reduce向map获取相应分区的数据

  14. 程序运行完成后MR会向RM注销自己

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/83870099