Hadoop使用公平排程策略

2021-05-24 06:26:40 字數 1107 閱讀 1237

前向hadoop提交的任務數越來越多, 任務的執行是按照fifo的預設排程演算法執行的,這樣會造成一些任務,即使只有1,2個map或reduce,獨佔資源的現象,因此改為公平排程演算法。

cdh hadoop 0.20.2+320 的hadoop lib目錄已經包含公平排程演算法的包。如果沒有應該從$hadoop_home/contrib/fairscheduler目錄下,把那個jar包(我在這裡是hadoop-fairscheduler-0.20.2+320.jar)複製到lib目錄下。然後修改配置檔案:

1。在mapred-site.xml 中將

mapred.jobtracker.taskscheduler

org.apache.hadoop.mapred.jobqueuetaskscheduler

the class responsible for scheduling the tasks.

改為mapred.jobtracker.taskscheduler

org.apache.hadoop.mapred.fairscheduler

the class responsible for scheduling the tasks.

2。在mapred-site.xml 中加入:

mapred.fairscheduler.allocation.file

/usr/local/hadoop/conf/pools.xml

3。建立/usr/local/hadoop/conf/pools.xml

檔案內容

<?xml version="1.0"?>

105

6 3

其中     6

規定使用者root可同時執行的job數量;

10 5

規定這個池的最小map和reduce數量;3

規定未指定使用者可提交的最大job數量;

完全公平排程

cfs定義了一種新的模型,它給執行佇列中的每個程序都設定了乙個虛擬時鐘,即vruntime。如果乙個程序被排程器投入執行,隨著時間的增長,其vruntime將不斷增大,而沒有得到執行的程序vruntime則不會發生變化。排程器總是選擇vruntime最小的那個程序來執行,這就是所謂的 完全公平 為了...

完全公平排程 cfs

現代os都會把時間用 當量quanta 來表示。這樣的單位有助於對不同任務的管理和排程。os version tick freqency linux2.4 100hz linux2.6 above 100,250,300 or1000hz 更高的os具有可選的tick頻率,這種配置一般在開始階段配置...

Linux 完全公平排程器

讀書筆記,linux 系統程式設計 第六章高階程序管理 linux排程器為完全公平排程器,簡稱為cfs。和最近華為鴻蒙提出的確定時延排程相反。完全公平排程器和傳統的unix排程器有很大的區別。在大多數unix系統中,包括引入cfs之前的linux系統,在程序排程中存在兩個基本的基於程序的因素 優先順...