Yarn的框架内部是怎么实现的

发布时间:2021-12-16 14:42:44 作者:iii
来源:亿速云 阅读:113
# 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语法,包含分级标题、列表、加粗等格式)

推荐阅读:
  1. HashMap的内部实现
  2. Hadoop中Yarn基本架构是怎么样的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

yarn

上一篇:spark mllib 预测之LinearRegression的示例分析

下一篇:Linux sftp命令的用法是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》