Yarn调度器和调度算法

       

目录

1 先进先出调度器(FIFO)

2 容量调度器(Capacity Scheduler)

3 公平调度器(Fair Scheduler)

缺额:

公平调度器队列资源分配方式

公平调度器资源分配算法

         Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop3.1.3默认的资源调度器是Capacity Scheduler

CDH框架默认调度器是Fair Scheduler

具体设置详见:yarn-default.xml文件



    The class to use as the resource scheduler.

    yarn.resourcemanager.scheduler.class

org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler

1 先进先出调度器(FIFO)

FIFO调度器(First In First Out):单队列,根据提交作业的先后顺序,先来先服务

Yarn调度器和调度算法_第1张图片

Yarn调度器和调度算法_第2张图片

Yarn调度器和调度算法_第3张图片

 

 

优点:简单易懂;

缺点:不支持多队列,生产环境很少使用;

2 容量调度器(Capacity Scheduler)

 Capacity SchedulerYahoo开发的多用户调度器。

特点:

 Yarn调度器和调度算法_第4张图片

 Yarn调度器和调度算法_第5张图片

 资源分配算法:

 Yarn调度器和调度算法_第6张图片

 

3 公平调度器(Fair Scheduler)

 Fair Schedulere是Facebook开发的多用户调度器。

 特点:Yarn调度器和调度算法_第7张图片

 1)与容量调度器相同点


(1)多队列:支持多队列多作业


(2)容量保证:管理员可为每个队列设置资源最低保证和资源使用上线


(3)灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提交,则其他队列借调的资源会归还给该队列。


(4)多租户:支持多用户共享集群和多应用程序同时运行;为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定。

2)与容量调度器不同点


(1)核心调度策略不同


        容量调度器:优先选择资源利用率低的队列

        公平调度器:优先选择对资源的缺额比例大

 

缺额:

Yarn调度器和调度算法_第8张图片 

 简单说就是系统留有的可用资源新任务需要的资源差值

  • 公平调度器设计目标是:在时间尺度上,所有作业获得公平的资源。某一时刻一个作业应获资源和实际获取资源的差距叫“缺额”
  • 调度器会优先为缺额大的作业分配资源 

公平调度器队列资源分配方式
 

1 ) FIFO策略
公平调度器每个队列资源分配策略如果选择FIFO的话,此时公平调度器相当于上面讲过的容量调度器。

2 ) Fair策略
Fair策略(默认)是一种基于最大最小公平算法实现的资源多路复用方式,默认情况下,每个队列内部采用该方式分配资源。这意味着,如果一个队列中有两个应用程序同时运行,则每个应用程序可得到1/2的资源;如果三个应用程序同时运行,则每个应用程序可得到1/3的资源。

具体资源分配流程和容量调度器一致

(1)选择队列
(2)选择作业

(3)选择容器

Yarn调度器和调度算法_第9张图片

 

Yarn调度器和调度算法_第10张图片

 

 

公平调度器资源分配算法

Yarn调度器和调度算法_第11张图片

 

Yarn调度器和调度算法_第12张图片

 

Yarn调度器和调度算法_第13张图片

 

 

你可能感兴趣的:(大数据,hadoop,大数据,hdfs)