在 Apache Hadoop YARN 架构中,NodeManager (NM) 是运行在每个计算节点(Worker Node)上的“代理”或“大管家”。如果说 ResourceManager (RM) 是整个集群的总指挥,那么 NodeManager 就是各个分舵的舵主,负责管理和执行具体节点上的工作。 NodeManager 的主要职责可以归纳为以下几个核心方面: 1. 容器(Container)生命周期管理 这是 NM 最基础也是最重要的工作。在 YARN 中,所有的任务都是在 Container 中运行的(Container 是 CPU、内存等资源的抽象)。 资源本地化(Resource Localization): 在启动 Container 之前,NM 会负责将任务运行所需的依赖文件、JAR 包、字典文件等从 HDFS 下载到本地节点的缓存目录中。 启动 Container: NM 接收来自 ApplicationMaster (AM) 的指令,配置好环境变量,启动对应的 Container 进程。 监控与清理 Container: NM 会持续监控 Contain...