YARN的资源调度三种模型了解吗

提问者:帅平 问题分类:面试刷题
YARN的资源调度三种模型了解吗
1 个回答
下个站口、等迩
下个站口、等迩
在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,Fair Scheduler。Apache版本的hadoop默认使⽤的是Capacity Scheduler调度⽅式。CDH版本的默认使⽤的是Fair Scheduler调度⽅式
FIFO Scheduler(先来先服务):
FIFO Scheduler把应⽤按提交的顺序排成⼀个队列,这是⼀个先进先出队列,在进⾏资源分配的时候,先给队列中最头上的应⽤进⾏分配资源,待最头上的应⽤需求满⾜后再给下⼀个分配,以此类推。
FIFO Scheduler是最简单也是最容易理解的调度器,也不需要任何配置,但它并不适⽤于共享集群。⼤的应⽤可能会占⽤所有集群资源,这就导致其它应⽤被阻塞,⽐如有个⼤任务在执⾏,占⽤了全部的资源,再提交⼀个⼩任务,则此⼩任务会⼀直被阻塞。

Capacity Scheduler(能⼒调度器):
对于Capacity调度器,有⼀个专⻔的队列⽤来运⾏⼩任务,但是为⼩任务专⻔设置⼀个队列会预先占⽤⼀定的集群资源,这就导致⼤任务的执⾏时间会落后于使⽤FIFO调度器时的时间。

Fair Scheduler(公平调度器):
在Fair调度器中,我们不需要预先占⽤⼀定的系统资源,Fair调度器会为所有运⾏的job动态的调整系统资源。
⽐如:当第⼀个⼤job提交时,只有这⼀个job在运⾏,此时它获得了所有集群资源;当第⼆个⼩任务提交后,Fair调度器会分配⼀半资源给这个⼩任务,让这两个任务公平的共享集群资源。需要注意的是,在Fair调度器中,从第⼆个任务提交到获得资源会有⼀定的延迟,因为它需要等待第⼀个任务释放占⽤的Container。⼩任务执⾏完成之后也会释放⾃⼰占⽤的资源,⼤任务⼜获得了全部的系统资源。最终的效果就是Fair调度器即得到了⾼的资源利⽤率⼜能保证⼩任务及时完成。
发布于:1年前 (2023-02-16) IP属地:四川省
我来回答