Hadoop中Yarn的资源调度算法优缺点

本文对Hadoop中Yarn自带的三种资源调度算法的优缺点做简单的介绍,主要内容摘自Hadoop权威指南。

资源调度

YARN中有三种调度器可用:FIFO调度器(FIFO Scheduler), 容量调度”(Capacity
Scheduler)和公平调度器(Fair Scheduler)。FIFO调度器将应用放置在一个队列中,然后按照提交的顺序(先进先出)运行应用。首先为队 列中第一个应用的请求分配资源,第一个应用的请求被满足后再依次为队列中下一个应用服务。

FIFO调度器

FIFO调度器的优点是,简单易懂,不需要任何配置,但是不适合共享集群。大的应用会占用集群中的所有资源,所以每个应用必须等待直到轮到自己运行。在一个共享集群中,更适合使用容量调器或公平调度器。这两种调度器都允许长时间运行作业能及时完成,同时也允许正在进行较小临时查询的用户能够在合理时间内得到返回结果。

容量调度器

使用容量调度器时(图中的(ii),一个独立的专门队列保证小作业一提交就可以启动,由于队列容量是为那个队列中的作业所保留的,因此这种策略是以整个集群的利用率为代价的。这意味着与使用FIFO调度器相比,大作业执行的时间要长。

公平调度器

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

本文作者:Qiu Qingyu
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 CN许可协议。转载请注明出处!
本文永久链接:http://qiuqingyu.cn/2019/01/22/Hadoop中Yarn的资源调度算法优缺点/