Hadoop资源调度框架Yarn介绍

Yarn(yet another resource negotiator)是分布式调度引擎,Hadoop2加进来的,算是抽象出来的。主要是监管节点上使用多少内存和CPU,然后把任务分配到空闲的节点,Yarn只做调度,不做计算。不光MapReduce可以使用Yarn,例如Spark,Storm,Tez,Mpi等很多也可以用于Yarn上。

组件

ResourceManager:资源管理者,一般和NameNode放在一个节点。也可以单独放一个机器上(生产环境中一般是分开机器上,两个都比较耗内存)。RM也可以启用多个(像NameNode一样),但不需要HA(数据不会出问题,重启即可)。

NodeManager:节点管理者,一般放在DataNode的节点上。也可以放在其他节点上。最好一个DataNode和一个NodeManager在一个节点(或比较近,如放一个机架上,网络最近,此处有个疑问,NodeManager执行时需要的数据可能会在其他DataNode呀),这样管理和调度最快,不需要网络传输。NodeManager执行具体计算任务。NodeManager宕机后,ResourceManager会重新计算该任务(需要核实)。

作业流程

客户端提交一个应用后,ResourceManager选择一个NodeManager,并在该NM上为该RM分配一个Container,在该Container中启动一个应用程序AM(进程),AM首先初始化。

AM负责管理整个应用的声明周期。AM向RM注册,用户可以直接通过RM查看应用程序的运行状态。AM采用轮询的方式通过RPC协议为各个任务申请资源(申请多个Container然后分配任务),并监控它们的运行状态直到运行结束。 在这过程中AM向ResourceManager报告心跳。运行结束后向RM申请注销Container和关闭自己。

Container是资源,包括cpu和内存等资源。一个NodeManager可能有多个Container。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值