-
FIFO队列
-
容量调度器(Capacity Scheduler)(Yarn默认使用)
- 支持多个队列,每个队列可分配一定的资源量,每个队列采用FIFO策略
- 对同一用户提交的作业所占资源量进行限定
- 有一个队列专门运行小任务(专门设置一个小队列会预先占用一定资源,会导致大任务的执行时间落后于FIFO调度器的时间)
- 将应用放置在哪个队列中,取决于应用本身(可以修改)。
- 队列属性、数量均可以修改
-
公平调度器(Fair Scheduler)
- 不需要预先占用一定的系统资源,Fair调度器会为所有运行的job动态的调整系统资源。
- 当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。
- 从第二个任务提交到获得资源会有一定的延迟,因为它需要等待第一个任务释放占用的Container。小任务执行完成之后也会释放自己占用的资源,大任务又获得了全部的系统资源。最终的效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成.
参考: