YARN的三种调度器

本文介绍了Yarn中的三种调度器:FIFOScheduler、CapacityScheduler和FairScheduler。FIFOScheduler按提交顺序分配资源,适合简单场景。CapacityScheduler和FairScheduler支持多任务并行,提高资源利用率。FairScheduler尤其适用于生产环境。


理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。

在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairScheduler。

FIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,以此类推。FIFO Scheduler是最简单也是最容易理解的调度器,也不需要任何配置,但它并不适用于共享集群。大的应用可能会占用所有集群资源,这就导致其它应用被阻塞。在共享集群中,更适合采用Capacity Scheduler或Fair Scheduler,这两个调度器都允许大任务和小任务在提交的同时获得一定的系统资源。

下面“Yarn调度器对比图”展示了这几个调度器的区别,从图中可以看出,

1.FIFO调度器

在FIFO 调度器中,小任务会被大任务阻塞。

2.Capacity调度器

有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。

3.Fair调度器

我们不需要预先占用一定的系统资源,Fair调度器会为所有运行的job动态的调整系统资源。如下图所示,当第一个大job提交时,只有这一个job在运行,此时它获得了所有集群资源;当第二个小任务提交后,Fair调度器会分配一半资源给这个小任务,让这两个任务公平的共享集群资源。需要注意的是,在下图Fair调度器中,从第二个任务提交到获得资源会有一定的延迟,因为它需要等待第一个任务释放占用的Container。小任务执行完成之后也会释放自己占用的资源,大任务又获得了全部的系统资源。最终的效果就是Fair调度器即得到了高的资源利用率又能保证小任务及时完成。
在这里插入图片描述

总结

在生产上更多使用公平调度器。

YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理器,它负责在集群上有效分配和管理资源。YARN提供了三种不同的调度器,它们是: 1. FIFO调度器(First-In-First-Out Scheduler):FIFO调度器YARN最简单的调度器之一,它按照任务提交的先后顺序进行调度,没有优先级或资源约束的考虑。当有新的任务提交时,FIFO调度器会将其分配给可用的资源,并等待前面的任务完成后再进行下一个任务的调度。这种调度器适用于简单的场景,不涉及资源竞争或优先级需求。 2. 容量调度器(Capacity Scheduler):容量调度器是一种多队列调度器,它将集群资源按比例划分给不同的队列,每个队列都有自己的资源配额。容量调度器支持多个租户或应用程序共享集群资源,通过配置不同队列的资源配额和优先级,可以灵活地控制资源的分配。容量调度器还支持预留资源和抢占机制,以保证重要任务的执行和高效利用集群资源。 3. 公平调度器(Fair Scheduler):公平调度器是一种公平共享资源的调度器,它试图以公平的方式分配资源给不同的应用程序。公平调度器将集群资源按照比例分配给不同的应用程序或作业,以避免某个应用程序垄断资源的情况。公平调度器还支持资源抢占,可以根据应用程序的优先级和需求,动态地重新分配资源以满足不同应用程序的需求。 这三种调度器各有特点,适用于不同的应用场景。FIFO调度器简单易用,适合简单的任务调度需求;容量调度器适用于多租户共享资源的场景,可以精细控制资源分配;公平调度器适用于追求公平性的场景,以确保每个应用程序都能获得公平的资源分享。根据具体的需求和集群规模,可以选择合适的调度器来管理和分配集群资源。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值