目录
一、什么是Scheduler(调度器)
要想给任务分配container容器的数量的话,肯定是需要一个东西给这个任务分配对应的数量的container,这个就是调度器
首先是要知道的调度器(scheduler)是resourcemanager的一个组件调度器根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的程序,调度器仅根据各个应用程序的资源需求进行资源分配,资源分配的单位是container,从而限定每个任务使用的资源
二、调度器种类
FIFO Scheduler 先进先出调度器
Capacity Scheduler 容量调度器
FairScheduler 公平调度器
2.1FIFO Scheduler(FIFO调度器)
如图所示,只有当job1全部执⾏完毕,才能开始执⾏job2
2.2Capacity Scheduler(容量调度器)
如图所示,专⻔留了⼀部分资源给⼩任务,可以在执⾏job1的同时,不会阻塞job2的 执⾏,但是因为这部分资源是⼀直保留给其他任务的,所以就算只有⼀个任务,也⽆法为其分配全部资源,只能让这部分保留资源闲置着,有着⼀定的资源浪费问题。
3.3Fair Scheduler(公平调度器)
公平调度器的⽬的就是为所有运⾏的应⽤公平分配资源。使⽤公平调度器时,不需要预留⼀定量的资源,因为调度器会在所有运⾏的作业之间动态平衡资源,第⼀个(⼤)作业启动时,它也是唯⼀运⾏的作业,因⽽获得集群中的所有 资源,当第⼆个(⼩)作业启动时,它被分配到集群的⼀半资源,这样每个作业都能公平 共享资源。
这也是企业最常用的一种