Hadoop之Yarn相关内容

一、 概念

1、 Yarn是一个分布式资源调用系统,专门用来负责给分布式计算程序分配计算资源的

2、 Yarn的组成

1ResourceManager
		整个Yarn集群的管理者,负责分配资源
2NodeManager
		Yarn集群的打工者,负责接收RM的指令,准备计算资源用于运行分布式计算程序
3Yarn运行一个分布式任务之后,还会出现两个组件
	ApplicationMaster
		运行一个mapreduce/spark/flink程序,首先Yarn会针对计算程序专门先启动一个用于辅助成功运行的master管理者,通过这个管理者运行专门的计算程序
	Container
		容器,计算需要资源,资源RM分配后,NM真正提供,NM不是直接把资源给计算任务,而是先把RM需要我们分配的计算资源打包成一个容器,打包成为容器之后,交给AM去运行针对性的任务
		

二、 Yarn的工作流程

在这里插入图片描述

1、 MR程序提交到客户端所在的节点
2、 yarnrunner向RM申请Application资源
3、 RM返回资源提交路径给yarnrunner
4、MR程序将资源提交到对应的hdfs上的路径 
5、 提交完成后,MR程序向RM申请MRApplicationMaster
6、 RM将用户的请求初始化成一个Task
7、 其中一个NodeManager领取到该Task任务
8、这个NodeManager创建Container容器并运行MRApplicationMaster 
9Container容器从hdfs上拷贝资源到本地
10MRApplicationMaster向RM申请运行MapTask容器 
11、 RM将任务分发给其他NodeManagerNodeManager领取到任务后创建容器
12MRApplicationMaster向接收到任务的NodeManager分发启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序
13MRApplicationMaster向RM申请两个容器运行reduceTask任务
14、 reduceTask向MapTask获取相应的分区数据
15、 运行完成后MRApplicationMaster向RM注销自己

三、 资源调度器

Yarn资源是有限的,资源调度器的作用是在Yarn接收到资源请求后,将其封装成任务,任务放到资源调度器中,由资源调度器来决定那个任务先运行,那个任务后运行

分类

  • FIFO(先进先出)调度器
将任务按照到达时间的先后顺序排队,依次执行,前一个任务没有执行完,后一个任务就无法执行
  • 容量调度器
Yarn的资源拆分成多份,一份资源对应一个任务队列,同一时刻可以运行多个任务,但是每个队列中需要遵循先来先执行
  • 公平调度器
Yarn的资源拆分成多份,一份资源对应一个任务队列,同一时刻可以运行多个任务,而且每一个队列中公平享有这个队列分配的资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值