YARN的三种调度器

YARN的三种调度器

什么是Scheduler(调度器)

Scheduler即调度器,根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。

YARN提供的三种内置调度器:
FIFO Scheduler(FIFO调度器)

FIFO 为 First Input First Output 的缩写,先进先出。FIFO 调度器将应用放在一个队列中,按照先后顺序
运行应用。这种策略较为简单,但不适合共享集群,因为大的应用会占用集群的所有资源,每个应用必须等待直到轮到自己。

优点:简单易懂,不需要任何配置
缺点:不适合共享集群,大的应用会占据集群中的所有资源,所以每个应用都必须等待,直到轮到自己执行。

如下图所示,只有当job1全部执行完毕,才能开始执行job2

4.7.2.2. Capacity Scheduler(容量调度器)

容量调度器 Capacity Scheduler 允许多个组织共享一个 Hadoop 集群。使用容量调度器时,一个独立的专门队列保证小作业一提交就可以启动。

优点:小任务不会因为前面有大任务在执行,而只能一直等下去
缺点:这种策略是以整个集群利用率为代价的,这意味着与使用FIFO调度器相比,大作业执行的时间要长上一些。

如图所示,专门留了一部分资源给小任务,可以在执行job1的同时,不会阻塞job2的执行,但是因为这部分资源是一直保留给其他任务的,所以就算只有一个任务,也无法为其分配全部资源,只能让这部分保留资源闲置着,有着一定的资源浪费问题。

4.7.2.3. Fair Scheduler(公平调度器)

公平调度器的目的就是为所有运行的应用公平分配资源。使用公平调度器时,不需要预留一定量的资源,因为调度器
会在所有运行的作业之间动态平衡资源,第一个(大)作业启动时,它也是唯一运行的作业,因而获得集群中的所有
资源,当第二个(小)作业启动时,它被分配到集群的一半资源,这样每个作业都能公平共享资源。

如图所示,就像是把好几个任务拼接成了一个任务,可以充分利用资源,同时又不会因为大任务在前面执行而导致小任务一直无法完成

更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料    

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值