Hadoop-第六周

一、了解YARN基本设计思想

一个 ResourceManager 和多个 NodeManager 构成了 Yarn 资源管理框架。他们是 Yarn 启动后长期运行的守护进程,来提供核心服务。
 

Yarn 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件构成。

ResourceManager ( RM)主要作用如下:
(1) 处理客户端请求
(2) 监控 NodeManager
(3) 启动或监控 ApplicationMaster
(4) 资源的分配与调度

NodeManager ( NM)主要作用如下:
(1) 管理单个节点上的资源
(2) 处理来自 ResourceManager 的命令
(3) 处理来自 ApplicationMaster 的命令

ApplicationMaster ( AM ) 作用如下:
(1) 负责数据的切分
(2) 为应用程序申请资源并分配给内部的任务
(3) 任务的监控与容错

Container
Container 是 Yarn 中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
 

二、了解MRv1发展到YARN的原因

1.1MRv1 主要有以下缺点:


扩展性差。在 MRv1 中,JobTracker同时兼备了资源管理和作业控制两个功能,这成为系统的一个最大瓶颈,严重制约了 Hadoop 集群扩展性。
可靠性差。MRv1 采用了 master/slave 结构,其中,master 存在单点故障问题,一旦它出现故障将导致整个集群不可用。
资源利用率低。MRv1 采用了基于槽位的资源分配模型。Hadoop 将槽位分为Map Slot 和 Reduce Slot 两种,且不允许它们之间共享,常常会导致一种槽位资源紧张而另外一种闲置(比如一个作业刚刚提交时,只会运行 Map Task,此时 Reduce Slot 闲置)。
无法支持多种计算框架。MapReduce 这种基于磁盘的离线计算框架已经不能满足应用要求,从而出现了一些新的计算框架,包括内存计算框架、流式计算框架和迭代式计算框架等,而 MRv1 不能支持多种计算框架并存。

1.2 YARN 实际上是一个弹性计算平台,可对多种框架进行统一管理。具有以下优势:


资源利用率高。共享集群模式则通过多种框架共享资源,使得集群中的资源得到更加充分的利用。 
运维成本低。
数据共享。跨集群间的数据移动不仅需花费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种框架共享数据和硬件资源,将大大减小数据移动带来的成本。
 

 

三、熟悉YARN的工作流程

 

3.1 作业提交到运行结束,如何调度

3.1.1容器调度(Capacity Scheduler)


​ Capacity调度器,有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。

工作逻辑
​ Capacity Schedule调度器以队列为单位划分资源。简单通俗点来说,就是一个个队列有独立的资源,
队列的结构和资源是可以进行配置的,如下图:

​ 队列以分层方式组织资源,设计了多层级别的资源限制条件以更好的让多用户共享一个Hadoop集群

​ 比如队列资源限制、用户资源限制、用户应用程序数目限制。队列里的应用以FIFO方式调度,每个队列可
设定一定比例的资源最低保证和使用上限,同时,每个用户也可以设定一定的资源使用上限以防止资源
滥用。而当一个队列的资源有剩余时,可暂时将剩余资源共享给其他队列。

3.1.2公平调度器(Fair Scheduler)


​ 在Fair调度器中,我们不需要预先占用一定的系统资源,Fair调度器会为所有运行的job动态的调整系统资源。实现了用户队列间的公平调度,也实现了队列内作业间的公平调度

工作逻辑
​ 假设用户A,B各自拥有队列Q1,Q2

A先启动一个job J1,则J1占用集群所有资源

B启动一个job J2,则Q1中的J1需要分一半资源给Q2中的J2

B又启动一个job J3,则Q2中的J2需要分一半资源给Q2中的J3


3.1.3先进先出调度器(FIFO Scheduler)

FIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。正因为是先来先得,所以小任务往往会被大任务阻塞。
 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值