YARN的工作机制_ YARN

  1. 客户端的应用程序 jar包 切片 配置文件
    YARN的工作机制_YARN教程_02
    客户端申请一个application
    RM返回一个application资源提交路径 以及application_id
    YARN的工作机制_ YARN_03

  2. 提交job运行所需的资源
    YARN的工作机制_YARN教程_04

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

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

  5. NodeManager 接受到task任务

  6. NodeManager创建容器Container cpu 内存 IO —>序列化过程
    YARN的工作机制_ YARN_05

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

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

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

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

  11. maptask YarnChild进程运行
    YARN的工作机制_YARN教程_06
    放在磁盘上

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

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

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