Hadoop的yarn工作机制

在Hadoop 2.0时代,增加了Yarn。Yarn只负责资源调度,MapReduce只负责计算。

1、Yarn概述

yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序

2、yarn的基本架构

YARN 主要由 ResourceManager NodeManager ApplicationMaster Container 等组件构成。
         

3、Yarn的工作机制

1)、Yarn运行机制
             

2)、工作机制详解

  1. Mr 程序提交到客户端所在的节点。
  2. Yarnrunner Resourcemanager 申请一个 Application
  3. rm将该应用程序的资源路径返回给 yarnrunner
  4. 该程序将运行所需资源提交到 HDFS 上。
  5. 程序资源提交完毕后,申请运行 mrAppMaster
  6. RM 将用户的请求初始化成一个 task
  7. 其中一个 NodeManager 领取到 task 任务。
  8. NodeManager 创建容器 Container, 并产生 MRAppmaster
  9. Container HDFS 上拷贝资源到本地。
  10. MRAppmaster RM 申请运行 maptask 资源。
  11. RM 将运行 maptask 任务分配给另外两个 NodeManager, 另两个 NodeManager 分别领取任务并创建容器。
  12. MR 向两个接收到任务的 NodeManager 发送程序启动脚本, 这两个 NodeManager分别启动 maptaskmaptask 对数据分区排序
  13. MrAppMaster 等待所有 maptask 运行完毕后,向 RM 申请容器, 运行 reduce task
  14. reduce task maptask 获取相应分区的数据。
  15. 程序运行完毕后, MR 会向 RM 申请注销自己。
以上就是Yarn的工作机制详细分解,有错误还望多多指正。

猜你喜欢

转载自blog.csdn.net/u013982921/article/details/80947290