【博学谷学习记录】超强总结,用心分享| Yarn的基础学习

本文详细介绍了Yarn的基础架构,包括ResourceManager、NodeManager、AppMaster和Container的角色与功能。接着,阐述了任务在Yarn上执行的完整流程。最后,讨论了Yarn的三种调度器——FIFO Scheduler、Capacity Scheduler和Fair Scheduler,分析它们的工作原理和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Yarn的基础架构

 

 Yarn是一个主从架构
  主节点:ResourceManager
  从节点:NodeManager
(2)ResourceManager功能
  1)接受客户端发起的任务,并将该任务交给NodeManager去执行
  2)划分整个集群的计算资源
(3)NodeManager
  1)真正的去执行计算任务
  2)真正的资源的提供者(内存和CPU)
  3)NodeManager会定时向ResourceManager汇报资源使用情况,并保持心跳
(4)AppMaster(Application Master)
  1)每启动一个任务job,就会启动一个该任务的管理者AppMaster,有多少个任务就会有多少个AppMaster
  2)AppMaster负责整个任务从提交到结束整个的过程
(5)Container
 1)Container可以理解为一个抽象的资源容器,是资源分配的单位,本质上是Java类对象
 2)Container内部包含的计算资源
   Container {node1:2G-2vcore,node2:4G:4vcore}
 3)Container本身没有资源,它只是告诉Job,去哪里要多少资源

2. 任务在Yarn上的执行流程

client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。

ResourceManager启动一个container用于运行ApplicationMaster。

启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。

ApplicationMaster向ResourceManager发送请求,申请相应数目的container。

ResourceManager返回ApplicationMaster的申请的containers信息。申请成功的container,由ApplicationMaster进行初始化。container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。AM与NM保持心跳,从而对NM上运行的任务进行监控和管理。

container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。

应用运行期间,client直接与AM通信获取应用的状态、进度更新等信息。

应用运行结束后,ApplicationMaster向ResourceManager注销自己,并允许属于它的container被收回。

3.Yarn的调度器

3.1 队列调度器(FIFO Scheduler)

该调度器,会将提交的Job放入一个队列中,先进入的Job会优先得到所有资源,可能会导致某个一个Job占用大部门资源,而且执行时间较长,会影响后期job的运行,所以该调取策略一般不用

3.2 容量调度器(Capacity Scheduler)

Apache的Hadoop默认使用的就是该调度器
容量调度器是将整个资源划分成多个队列,每一个队列占用一部分资源
在提交任务时需要指定你要使用哪一个队列的资源,如果没有指定则使用默认队列
容量调度器默认只有一个队列:default队列,如果想要建立其他队列则需要手动来设置
执行任务的队列必须是叶子,也就是队列树中最末端队列
给队列设置的资源占比都是资源的下限比例,默认最多可以使用%100的全部资源

3.3公平调度器(Fair Scheduler)

CDH(Cloudera Hadoop)默认就使用该调度器
不管来多少job任务,都会对总资源进行平均分配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值