Yarn调度器和调度算法详解
目前,Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop3.1.3默认的资源调度器是Capacity Scheduler。CDH框架默认调度器是Fair Scheduler
一、先进先出调度器(FIFO)
FIFO调度器(First In First Out):单队列,根据提交作业的先后顺序,先来先服务。
优点:简单易懂;
缺点:不支持多队列,生产环境很少使用
二、容量调度器(Capacity Scheduler)
Capacity Scheduler是Yahoo开发的多用户调度器
1、多队列:每个队列可配置一定的资源量,每个队列采用FIFO调度策略。
2、容量保证:管理员可为每个队列设置资源最低保证和资源使用上限。
3、灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一但该队列有新的应用程序提交,则其他队列借调的资源会归还给该队列。
4、多租户
支持多用户共享集群和多应用程序同时运行。
为了防止同一用户的作业独占队列的中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。
三、公平调度器(Fair Scheduler)
Fair Schedulere是Facebook开发的多用户调度器。
公平调度器特点:
1、与容量调度器相同点
(1)多队列:每个队列可配置一定的资源量,每个队列采用FIFO调度策略。
(2)容量保证:管理员可为每个队列设置资源最低保证和资源使用上限。
(3)灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一但该队列有新的应用程序提交,则其他队列借调的资源会归还给该队列。
(4)多租户
支持多用户共享集群和多应用程序同时运行。
为了防止同一用户的作业独占队列的中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。
2、与容量调度器不同点
(1)核心调度策略不同
容量调度器:优先选择资源利用率低的队列
公平调度器:优先选择对资源的缺额比例大的
(2)每个队列可以单独设置资源分配方式
容量调度器:FIFO、DRF
公平调度器:FIFO、FAIR、DRF