在Hadoop 2.0时代,增加了Yarn。Yarn只负责资源调度,MapReduce只负责计算。
1、Yarn概述
yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。
2、yarn的基本架构
YARN 主要由 ResourceManager、 NodeManager、 ApplicationMaster 和 Container 等组件构成。

3、Yarn的工作机制
1)、Yarn运行机制
2)、工作机制详解
- Mr 程序提交到客户端所在的节点。
- Yarnrunner 向 Resourcemanager 申请一个 Application。
- rm将该应用程序的资源路径返回给 yarnrunner。
- 该程序将运行所需资源提交到 HDFS 上。
- 程序资源提交完毕后,申请运行 mrAppMaster。
- RM 将用户的请求初始化成一个 task。
- 其中一个 NodeManager 领取到 task 任务。
- 该 NodeManager 创建容器 Container, 并产生 MRAppmaster。
- Container 从 HDFS 上拷贝资源到本地。
- MRAppmaster 向 RM 申请运行 maptask 资源。
- RM 将运行 maptask 任务分配给另外两个 NodeManager, 另两个 NodeManager 分别领取任务并创建容器。
- MR 向两个接收到任务的 NodeManager 发送程序启动脚本, 这两个 NodeManager分别启动 maptask, maptask 对数据分区排序
- MrAppMaster 等待所有 maptask 运行完毕后,向 RM 申请容器, 运行 reduce task。
- reduce task 向 maptask 获取相应分区的数据。
- 程序运行完毕后, MR 会向 RM 申请注销自己。
本文介绍Hadoop2.0中引入的Yarn资源调度平台,阐述其基本架构包括ResourceManager、NodeManager、ApplicationMaster和Container等组件,并详细解析Yarn的工作流程,从提交应用程序到运行MapReduce任务直至程序结束。
5562

被折叠的 条评论
为什么被折叠?



