Hadoop Capacity Scheduler配置使用記錄
作者: 大圓那些事 | 文章可以轉載,請以超鏈接形式標明文章原始出處和作者信息
網址: http://www.rzrgm.cn/panfeng412/archive/2013/03/22/hadoop-capacity-scheduler-configuration.html
這里參考Capacity Scheduler Guide,結合自己的實踐經驗,對Capacity Scheduler的主要配置參數進行總結。以下標記為紅色的部分大都是自己曾踩過坑的地方,希望能給大家帶來幫助。
mapred.capacity-scheduler.queue.<queue-name>.capacity:設置調度器中各個queue的容量,這里指的是占用的集群的slots的百分比,需要注意的是,所有queue的該配置項加起來必須小于等于100,否則會導致JobTracker啟動失敗。
mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity:設置調度器中各個queue最大可以占有的容量,默認為-1表示最大可以占有集群100%的資源,和設置為100的效果是一樣的。
mapred.capacity-scheduler.queue.<queue-name>.minimum-user-limit-percent:當queue中多個用戶出現slots競爭的時候,限制每個用戶的slots資源的百分比。舉個例子,當minimum-user-limit-percent設置為25%時候,如果queue中有多余4個用戶同時提交job,那么調度器保證每個用戶占有的slots不超過queue中slots數的25%,默認為100表示不對用戶作限制。
mapred.capacity-scheduler.queue.<queue-name>.user-limit-factor:設置queue中用戶可占用queue容量的系數,默認為1表示,queue中每個用戶最多只能占有queue的容量(即mapred.capacity-scheduler.queue.<queue-name>.capacity),因此,需要注意的是,如果queue中只有一個用戶提交job,且希望用戶在集群不繁忙時候可擴展到mapred.capacity-scheduler.queue.<queue-name>.maximum-capacity指定的slots數,則必須相應調大user-limit-factor這個系數。
mapred.capacity-scheduler.queue.<queue-name>.supports-priority:設置調度器中各個queue是否支持job優先級,不用過多解釋。
mapred.capacity-scheduler.maximum-system-jobs:設置調度器中各個queue中合起來共計可初始化后并發執行的job數,需要注意的是,各個queue會按照自己占有集群slots資源的比例(即mapred.capacity-scheduler.queue.<queue-name>.capacity)決定每個queue最多同時并發執行的job數!舉個例子,假設maximum-system-jobs為20個,而queue1占集群10%資源,那么意味著queue1最多可同時并發運行2個job,如果碰巧是運行時間比較長的job的話,將直接導致其他新提交的job被JobTracker阻塞不能進行初始化!
mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks:設置queue中所有并發運行job包含的task數的上限值,如果超過此限制,則新提交到該queue中的job會被排隊緩存到磁盤上。
mapred.capacity-scheduler.queue.<queue-name>.maximum-initialized-active-tasks-per-user:設置queue中每個特定用戶并發運行job包含的task數的上限值,如果超過此限制,則該用戶新提交到該queue中的job會被排隊緩存到磁盤上。
mapred.capacity-scheduler.queue.<queue-name>.init-accept-jobs-factor:設置每個queue中可容納接收的job總數(maximum-system-jobs * queue-capacity)的系數,舉個例子,如果maximum-system-jobs為20,queue-capacity為10%,init-accept-jobs-factor為10,則當queue中job總數達到10*(20*10%)=20時,新的job將被JobTracker拒絕提交。
浙公網安備 33010602011771號