資源排程器
排程器的分類
目前,Hadoop作業排程器主要有三種:FIFO、Capacity Scheduler和Fair Scheduler。
Hadoop2.7.2預設的資源排程器是Capacity Scheduler。
具體設定詳見: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)
容量排程器(Capacity Scheduler)
1 支援多個隊列,每個隊列可配置一定的資源量,每個隊列采用FIFO排程政策。
2 為了防止同一個使用者的作業獨占隊列中的資源,該排程器會對同一使用者送出的作業所占資源量進行限定。
3 首先,計算每個隊列中正在運作的任務數與其應該分得的計算資源之間的比值,選擇一個該比值最小的隊列。
4 其次,按照作業優先級和送出時間順序,同時考慮使用者資源量限制和記憶體限制對隊列内任務排序。
5 三個隊列同時按照任務的先後順序依次執行,比如,job11、job21和job31分别排在隊列最前面,是最先運作,也是同時運作。