继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

hadoop yarn组件

慕村9548890
关注TA
已关注
手记 1298
粉丝 227
获赞 991

ResourceManager

ResourceManager负责告诉ApplicationMaster哪些Containers可以用

  • 组件: Scheduler (对application进行资源分配管理)

  • 组件: ApplicationManager (接受client提交的job请求, 为application分配一个container作为ApplicationMaster)

ApplicationMaster

ApplicationMaster的主要作用是向ResourceManager申请资源
和NodeManager协同工作来运行应用的各个任务,然后跟踪它们状态及监控各个task的执行,遇到失败的task还负责重启它。

ResourceManager依然负责对整个集群的资源管理
但是在任务资源的调度方面只负责将资源封装为Container分配给ApplicationMaster的一级调度,
二级调度的细节将交给ApplicationMaster去完成,
这大大减轻了ResourceManager的压力,使得ResourceManager更加轻量。

NodeManager

  • 负责接收ResourceManager的资源分配请求,通过和ApplicationMaster交互分配具体的Container给application。

  • 负责监控并报告Container使用信息给ResourceManager。

接收ResourceManager的请求,分配Container给应用的某个任务
和ResourceManager交换信息以确保整个集群平稳运行。
ResourceManager就是通过收集每个NodeManager的报告信息来追踪整个集群健康状态的,
而NodeManager负责监控自身的健康状态。
管理每个Container的生命周期
管理每个节点上的日志
执行Yarn上面应用的一些额外的服务,比如MapReduce的shuffle过程

任务提交流程

  • client端 向RM中的 ApplicationManager组件 发送提交Job请求

  • RM 找到可以运行一个Container的NodeManager,并在这个Container启动AM实例

  • AM向RM进行注册,RM告诉AM哪些NodeManger有资源,AM再去找NondeManger去申请资源请求分配Container

  • NodeManager 将task的运行状态 发送给AM 用来监控

  • application执行完成后, AM向RM取消注册然后关闭



作者:阿武z
链接:https://www.jianshu.com/p/11c906c141ff


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP