1. 程式人生 > >資源排程管理器

資源排程管理器

Hadoop的作業排程器主要有三種:FIFO ,Capacity Scheduler 和Fair Scheduler 2.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>

1. 先進先出排程器(FIFO)
在這裡插入圖片描述
(1) 按照queue佇列,按到達時間排序,先到先服務
(2) 新的節點資源空閒了,分配給佇列中等待的job,job中含有maptask和reducetask
(3)分配一個task給節點.指到節點的task全部跑完

2. 容量排程器(Capacity Scheduler)

在這裡插入圖片描述

  1. 支援多個佇列,每個佇列可配置一定的資源量,每個佇列採用FIFO排程策略
  2. 防止同一個使用者的作業獨佔佇列中的資源,該排程器會向同一個使用者提交作業所佔資源量進行限定
  3. 首先,計算每個佇列中正在執行的任務數與其應該分得的計算資源之間的比值,選擇一個該比值最小的佇列
  4. 其次,按照作業優先順序和提交時間順序,同時考慮使用者資源量限制和記憶體限制對佇列內任務排序
  5. 三個佇列同時按照任務的先後順序依次執行 ,也是同時執行的

3.公平排程器(Fair Scheduler)
在這裡插入圖片描述

支援多佇列多使用者,每個佇列中的資源量可以配置,同一佇列中的作業公平共享佇列中所有資源

假設有三個佇列,每個佇列中的job按照優先順序分配資源,優先順序越高分配的資源越多,但是每個job都會分配到資源確保公平,但是資源有限的情況下,每個job理想情況下獲得的計算資源與實際獲得的計算資源存在一種差距,這個差距叫做缺額,在同一個佇列中,job資源的缺額越大,越先獲得資源優先執行,作業是按照缺額的高低來先後執行,而且可以多個作業同時執行