您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Yarn的框架内部是怎么实现的
## 核心架构
Yarn作为Hadoop 2.0引入的资源管理系统,采用**Master/Slave架构**,主要由以下组件构成:
- **ResourceManager(RM)**:全局资源调度器,包含Scheduler(纯调度)和ApplicationsManager(管理应用生命周期)
- **NodeManager(NM)**:每个节点代理,负责容器管理、资源监控
- **ApplicationMaster(AM)**:每个应用独享的进程,负责与RM协商资源,并与NM协作执行任务
## 关键实现机制
1. **双层调度模型**
RM将资源分配给AM后,由AM进行二次分配。这种设计实现了:
- 资源统一管理
- 框架多样性支持(MapReduce/Spark等)
2. **资源容器化**
通过Linux cgroups实现资源隔离,每个任务运行在指定资源的Container中,包含:
- 内存隔离
- CPU配额限制
- 磁盘/网络IO控制
3. **状态机驱动**
核心组件通过状态机管理生命周期,例如:
- RM中的Application状态流转(NEW→SUBMITTED→RUNNING)
- Container的申请/分配/释放流程
## 通信协议
采用基于RPC的协议:
- AM与RM间:ApplicationClientProtocol
- NM与RM间:ResourceTrackerProtocol
- AM与NM间:ContainerManagementProtocol
## 容错设计
- RM通过ZK实现高可用
- AM支持失败重启(通过保存检查点)
- NM故障时触发任务重新调度
(注:实际字数约350字,采用Markdown语法,包含分级标题、列表、加粗等格式)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。