【问题标题】:Hadoop 2.0 ApplicationMaster vs NodeManagerHadoop 2.0 ApplicationMaster 与 NodeManager
【发布时间】:2020-06-19 20:18:15
【问题描述】:

我无法识别 Hadoop 2.0 架构中 ApplicationMasterNodeManager 之间的差异。

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

但我对 NodeManager 的用途感到困惑。 NodeManager 是否为 ApplicationMaster 创建容器(运行这些 map 和 reduce 任务)或 ResourceManager 是否为 ApplicationMaster 创建容器(运行这些 map 和 reduce 任务),并且 NodeManager 只管理节点的健康,安全地放置ApplicationMaster的容器所需的文件和目录,以及监控容器的资源使用情况等。

【问题讨论】:

    标签: hadoop hadoop-yarn


    【解决方案1】:

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

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

    因此,在回答您的问题时,ResourceManager 本身不会启动容器,它会找到可以执行此操作的合适 NodeManager。

    下面是一些图片和链接以及更多详细信息。

    YARN Architecture 来自官方 Hadoop 文档:

    Anatomy of a YARN Application Run(来自 Tom White 的“Hadoop:权威指南”):

    【讨论】:

    • 但是当客户端提交YARN应用时,资源管理器会先启动容器运行应用主控。正确的?然后,应用程序主控与资源管理器交互以获取容器来运行 Map 和 Reduce 任务,这些容器由 NodeManager 创建。对吗?
    • 据我了解,ResourceManager 本身不会启动任何容器,它只是提供资源请求,将这些请求“重定向”到需要资源的 NodeManager。
    • 所以 NodeManager 启动应用程序主容器以及通常的 map/reduce 作业容器。
    猜你喜欢
    • 2013-11-02
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多