为了账号安全,请及时绑定邮箱和手机立即绑定

hadoop yarn组件

标签:
Hadoop

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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消