Yarn調度器和調度算法


目前,Hadoop 作業調度器主要有三種:
  • FIFO
  • 容量調度器(Capacity Scheduler, Apache Hadoop2.7.2 默認的資源調度器)
  • 公平調度器(Fair Scheduler, CDH框架默認的資源調度器)

默認調度器可見配置文件

// Apache hadoop3.1.3 yarn=default.xml文件
// http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
<property>
    <description>The class to use as the resource scheduler.</description>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>

 

 一、FIFO

如果只有三個task的資源,會先給job1的一部分map task,剩余的map task繼續等。

 

二、容量調度器(Capacity Scheduler)

Capacity Scheduler 是 Yahoo 開發的多用戶調度器。

1、多隊列:每個隊列可配置一定的資源量,每個隊列采用FIFO調度策略。

2、容量保證:管理員可為每個隊列設置資源最低保證和資源使用上限。

3、靈活性:如果一個隊列中的資源有剩余,可以暫時共享給那些需要資源的隊列,而一旦該隊列有新的應用程序提交,則其他隊列借調的資源會歸還給該隊列。

4、多租戶(ss、cls):

    支持多用戶共享集群和多應用程序同時運行。

    為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源量進行限定。

 

三、公平調度器(Fair Scheduler)

Fair Schedulere 是 Facebook 開發的多用戶調度器。

1)與容量調度器相同點
  (1)多隊列:支持多隊列多作業
  (2)容量保證:管理員可為每個隊列設置資源最低保證和資源使用上線
  (3)靈活性:如果一個隊列中的資源有剩余,可以暫時共享給那些需要資源的隊列,而一旦該隊列有新的應用程序提交,則其他隊列借調的資源會歸還給該隊列。
  (4)多租戶:支持多用戶共享集群和多應用程序同時運行;為了防止同一個用戶的作業獨占隊列中的資源,該調度器會對同一用戶提交的作業所占資源量進行限定。
2)與容量調度器不同點
  (1)核心調度策略不同
      容量調度器:優先選擇資源利用率低的隊列
      公平調度器:優先選擇對資源的缺額比例大的
  (2)每個隊列可以單獨設置資源分配方式
      容量調度器:FIFO、 DRF
      公平調度器:FIFO、FAIR、DRF

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM