当前位置: 首页 > news >正文

yarn的三大组件及各自的作用

### YARN 的三大核心组件及其功能和作用

#### 1. **ResourceManager**
ResourceManager 是 YARN 中的全局资源管理器,负责整个集群的资源管理和分配。它的主要职责包括:
- **资源监控与分配**:通过接收来自各节点 NodeManager 的心跳信号来监控集群中每台机器的资源使用情况(如 CPU 和内存),并将这些资源整合起来形成统一视图。
- **调度策略实施**:依据预设好的调度算法(例如 FairScheduler 或 CapacityScheduler)决定如何将有限的计算能力合理地分派给不同的应用程序实例。
- **高可用性支持**:提供主备切换机制,在主 ResourceManager 出现故障时可以迅速启用备用节点继续维持服务正常运转。

#### 2. **NodeManager**
作为每个节点上的代理程序,NodeManager 主要承担所在主机层面的任务执行与资源配置管理工作。具体来说有以下几个方面的作用:
- **本地化任务控制**:按照 ApplicationMaster 发来的指令启动或者终止指定容器(Container),同时保持对这些进程生命周期的有效监督。
- **周期性汇报状态**:定时向中央级别的 ResourceManager 上报当前设备剩余可利用资源数量以及正在运行中的所有容器详情。
- **应急响应能力**:一旦检测到原定联系对象即主 ResourceManager 不可达,则会自动尝试接入替代方案——也就是事先设定好待命状态下的次级 ResourceManager。

#### 3. **ApplicationMaster**
对于每一个提交至 YARN 平台运行的应用而言,都会伴随产生一个专属自己的 ApplicationMaster 实例。以下是它的一些关键职能描述:
- **资源请求中介**:充当桥梁角色,代表所属应用向 ResourceManager 请求必要的运算单元配额(表现为 Containers 形式呈现)。
- **内部负载均衡**:把从外部争取回来的整体份额细化拆解成更细粒度的部分再分别指派给下辖各项独立操作环节去完成各自使命。
- **错误恢复处理**:持续追踪记录下属全部活动进展状况;倘若发现某个组成部分发生异常中断现象,则立即着手安排重试机会直至最终成功为止。

---

### 总结
YARN 的三个核心组件共同协作构建起了完整的分布式资源管理体系结构。其中 ResourceManager 扮演着宏观调控者的身份统筹规划全局视角下的资产布局;而遍布各个物理服务器端口处驻扎的 NodeManagers 则专注于微观领域里的细节把控;最后再加上针对单个项目定制开发出来的个性化管理者——ApplicationMasters ——三方联动才能确保整体架构稳定高效运作下去。

---

相关文章:

  • 进阶篇|CAN FD 与性能优化
  • uboot下读取ubifs分区的方法
  • leetcode刷题日记——单词规律
  • webgl入门实例-11模型矩阵 (Model Matrix)基本概念
  • Unity粒子特效打包后不显示
  • FP16、FP32 及全系列浮点格式全解析:从半精度到四倍精度
  • IDEA 2025.1更新-AI助手试用和第三方模型集成方案
  • 2025年GitHub平台上的十大开源MCP服务器汇总分析
  • 【AI飞】AutoIT入门七(实战):python操控autoit解决csf视频批量转换(有点难,AI都不会)
  • 如何下载适用于Docker环境的Google Chrome浏览器【镜像使用方法】
  • RT-Thread RTThread studio 初使用
  • osgb和obj格式互转
  • 计算机视觉---相机标定
  • Oracle之数据库对象加连表查询
  • 前端 实现文字打字效果(仿AI)
  • 三维点拟合直线ransac c++
  • C/C++中获取或处理时间节点方法
  • UWP特性分析
  • 软件招标评审模板
  • OpenCV day6
  • AI时代的阅读——当今时代呼唤文学的思想实验和人文认知
  • 神舟二十号航天员乘组计划于10月下旬返回
  • 建行深圳市分行原副行长李华峰一审被判15年
  • 骑手眼中的“外卖战”
  • 对话地铁读书人|豪宅房产经纪人:读书使我免于抑郁
  • 天地图新版上线对公众、企业有何用?自然资源部总规张兵详解