2016-09-17 44 views
2

我无法识别某些组件的Hadoop的2.0架构的差异:的Hadoop 2.0应用大师VS节点管理器

关于ApplicationMaster和节点管理器:

我知道ApplicationMaster负责运行Map和Reduce任务,并通过与ResourceManager协调来检索容器以运行这些任务。

但我对NodeManager的目的感到困惑。 NodeManager为ApplicationMaster创建容器(运行这些Map和Reduce任务)还是ResourceManager为ApplicationMaster创建容器(运行这些Map和Reduce Tasks),并且NodeManager只管理节点的健康状况,安全地放置容器为应用程序主文件所需的文件和目录,并监视容器的资源使用情况等。

回答

1

ResourceManager(每个群集一个) - 仲裁所有应用程序之间的资源。

NodeManager - 负责容器启动,监控其资源使用情况(cpu,内存,磁盘,网络)并将其报告给ResourceManager/Scheduler。

因此,在回答你的问题时,ResourceManager不会自己启动容器,它会找到合适的NodeManager来做到这一点。

一些图片和链接更多的细节波纹管。

YARN Architecture来自官方的Hadoop文档:

enter image description here

Anatomy of a YARN Application Run(从 “Hadoop的:权威指南” 由汤姆·白):

enter image description here

+0

但资源管理器将首先推出容器在客户端提交YARN应用程序时运行应用程序主控。正确?然后,应用程序主控与资源管理器进行交互,让容器运行Map和Reduce任务,这些容器由NodeManager创建。正确? – CapturedTree

+1

据我所知,ResourceManager本身并不启动任何容器,它只是服务资源请求,将这些请求“重定向”到需要资源的NodeManagers。 – MaxNevermind

+1

因此,NodeManager启动应用程序主容器以及通常的映射/减少作业容器。 – MaxNevermind