我无法识别Hadoop 2.0架构中某些组件的差异:
关于ApplicationMaster和NodeManager:
我知道ApplicationMaster负责运行Map和Reduce任务,它通过与ResourceManager协调来检索容器来运行这些任务。
但我对NodeManager的目的感到困惑。 NodeManager是否为ApplicationMaster创建容器(运行那些Map和Reduce Tasks),或者ResourceManager是否为ApplicationMaster创建容器(运行那些Map和Reduce Tasks),NodeManager只管理节点的运行状况,安全地放置Application Master的容器所需的文件和目录,以及监视容器的资源使用情况等。
答案 0 :(得分:3)
ResourceManager(每个群集一个) - 在所有应用程序之间仲裁资源。
NodeManager - 负责容器启动,监控其资源使用情况(cpu,内存,磁盘,网络)并将其报告给ResourceManager / Scheduler。
因此,在回答您的问题时,ResourceManager本身不会启动容器,而是找到可以执行此操作的合适NodeManager。
有些图片和链接有更多细节。
来自官方Hadoop文档的Anatomy of a YARN Application Run(来自" Hadoop:The Definitive Guide" Tom White):