Yarn
是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式
的
操作系统平台
,而
MapReduce
等运算程序则相当于运行于
操作系统之上的应用程序
。
Yarn
基础架构
YARN
主要由
ResourceManager
、
NodeManager
、
ApplicationMaster
和
Container
等组件
构成。
Yarn 工作机制
(
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
|