欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > yarn的三大组件及各自作用

yarn的三大组件及各自作用

2025/11/28 6:05:24 来源:https://blog.csdn.net/2402_87144407/article/details/147333503  浏览:    关键词:yarn的三大组件及各自作用

YARN的三大核心组件及各自作用

YARN(Yet Another Resource Negotiator)采用 主从(Master-Slave)架构,其核心由三大组件构成,分别负责 资源管理、节点资源监控和任务协调

组件角色核心作用
ResourceManager(RM)主节点全局资源调度器,负责整个集群的资源分配和作业调度。
NodeManager(NM)从节点单个节点的资源代理,管理本机资源(CPU、内存)并执行任务。
ApplicationMaster(AM)任务协调者每个应用程序独有的进程,负责向RM申请资源,并协调任务的执行与容错。

1. ResourceManager(RM)—— 集群资源的总调度官

作用

  • 资源分配:管理集群所有节点的资源(CPU、内存),根据调度策略(如CapacityScheduler、FairScheduler)分配给不同应用。

  • 作业调度:接收客户端提交的作业,启动对应的ApplicationMaster(AM)。

  • 容错监控:监控AM的运行状态,失败时重新分配资源。

关键点

  • 两个核心子组件

    • Scheduler(调度器):纯资源分配器,不关心应用逻辑。

    • ApplicationsManager(应用管理器):负责AM的启动与生命周期管理。

  • 单点故障问题:生产环境需通过 HA(高可用) 配置多个RM避免单点故障。


2. NodeManager(NM)—— 单个节点的资源管家

作用

  • 资源管理:监控本节点的资源使用情况(如CPU、内存、磁盘),定期向RM汇报。

  • 任务执行:根据RM和AM的指令,启动/停止Container(资源容器),运行具体任务(如MapTask、Spark Executor)。

  • 本地化优化:优先使用数据本地化(Data Locality)的Container,减少网络传输。

关键点

  • 每个从节点(DataNode)通常部署一个NM,与HDFS的DataNode共存。

  • 若NM失效,RM会将该节点标记为不可用,并重新调度其上的任务。


3. ApplicationMaster(AM)—— 单个应用的指挥官

作用

  • 资源协商:向RM申请资源(Container),并协商资源需求(如“需要10个Container运行Map任务”)。

  • 任务协调:与NM通信,在分配的Container中启动/监控任务(如MapReduce的MapTask或Spark的Executor)。

  • 容错处理:任务失败时,重新申请资源或调整执行策略。

关键点

  • 每个应用一个AM:例如,一个MapReduce作业或一个Spark作业都有自己的AM。

  • 轻量级设计:AM本身也是运行在Container中的进程,由RM动态分配资源启动。


三大组件协作流程(以MapReduce为例)

  1. 提交作业:客户端向RM提交MapReduce作业。

  2. 启动AM:RM分配一个Container,启动该作业的AM。

  3. 申请资源:AM向RM注册,并申请运行MapTask的Container资源。

  4. 分配资源:RM根据调度策略,通知NM启动Container。

  5. 执行任务:NM在Container中运行MapTask,AM监控任务状态。

  6. 作业完成:AM向RM注销,释放资源。


为什么需要YARN?

  • 解耦资源与计算:在Hadoop 1.0中,MapReduce既负责计算又管理资源,导致扩展性差。YARN将资源管理抽象化,支持多计算框架(如Spark、Flink)。

  • 提高集群利用率:允许多个应用共享集群资源,避免资源浪费。

总结

  • RM 是集群的“大脑”,负责宏观资源调度。

  • NM 是“四肢”,负责单个节点的任务执行。

  • AM 是“项目经理”,为每个应用协调资源和任务。

通过这三者的协作,YARN实现了高效的分布式资源管理,成为Hadoop生态的基石。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词