YARN的调度器Scheduler

目录

一、什么是Scheduler(调度器)

二、调度器种类

2.1FIFO Scheduler(FIFO调度器)

 2.2Capacity Scheduler(容量调度器)

3.3Fair Scheduler(公平调度器)


一、什么是Scheduler(调度器)

        Scheduler即调度器,根据容量、队列等限制条件(如每个队列分配⼀定的资源,最多执⾏⼀定数量的作业等),将系统中的资源分配给各个正在运⾏的应⽤程序。

        要想给任务分配container容器的数量的话,肯定是需要一个东西给这个任务分配对应的数量的container,这个就是调度器
        首先是要知道的调度器(scheduler)是resourcemanager的一个组件调度器根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的程序,调度器仅根据各个应用程序的资源需求进行资源分配,资源分配的单位是container,从而限定每个任务使用的资源

二、调度器种类

FIFO Scheduler 先进先出调度器
Capacity Scheduler 容量调度器
FairScheduler 公平调度器

2.1FIFO SchedulerFIFO调度器)

        FIFO 为 First Input First Output 的缩写,先进先出。 FIFO 调度器将应⽤放 在⼀个队列中,按照先 后顺序 运⾏应⽤。这种策略较为简单,但不适合共享集群,因为⼤的应⽤会占⽤集群的所资源,每个应⽤必须等待直到轮到⾃⼰。
优点 :简单易懂,不需要任何配置
缺点 :不适合共享集群,⼤的应⽤会占据集群中的所有资源,所以每个应⽤都必须等待,直到轮到⾃⼰执⾏。

 如图所示,只有当job1全部执⾏完毕,才能开始执⾏job2

 2.2Capacity Scheduler(容量调度器)

              容量调度器 Capacity Scheduler 允许多个组织共享⼀个 Hadoop 集群。使⽤容量 调度器时,⼀个独⽴的专⻔队列保证⼩作业⼀提交就可以启动。

优点 :⼩任务不会因为前⾯有⼤任务在执⾏,⽽只能⼀直等下去
缺点 :这种策略是以整个集群利⽤率为代价的,这意味着与使⽤ FIFO 调度器相⽐,⼤作
业执⾏的时间要⻓上⼀些。

        如图所示,专⻔留了⼀部分资源给⼩任务,可以在执⾏job1的同时,不会阻塞job2的 执⾏,但是因为这部分资源是⼀直保留给其他任务的,所以就算只有⼀个任务,也⽆法为其分配全部资源,只能让这部分保留资源闲置着,有着⼀定的资源浪费问题。

3.3Fair Scheduler(公平调度器)

        公平调度器的⽬的就是为所有运⾏的应⽤公平分配资源。使⽤公平调度器时,不需要预留⼀定量的资源,因为调度器会在所有运⾏的作业之间动态平衡资源,第⼀个(⼤)作业启动时,它也是唯⼀运⾏的作业,因⽽获得集群中的所有  资源,当第⼆个(⼩)作业启动时,它被分配到集群的⼀半资源,这样每个作业都能公平 共享资源。

   
        如图所示,就像是把好⼏个任务拼接成了⼀个任务,可以充分利⽤资源,同时⼜不会因为⼤任务在前⾯执⾏⽽导致⼩任务⼀直⽆法完成

 这也是企业最常用的一种

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值