我試圖運行Fair Scheduler,但它並未將Map任務分配給僅有一個作業正在運行的某些節點。我的理解是,公平計劃將使用conf
插槽限制,除非存在多個作業,此時計算公平性計算。我也嘗試將所有隊列設置爲fair-scheduler.xml
中的FIFO,但我得到了相同的結果。Hadoop Fair Scheduler未將任務分配給某些節點
我已經在所有mapred-site.xml
文件中設置了調度程序mapreduce.jobtracker.taskscheduler
參數(儘管我相信只有JobTracker需要它),並且一些節點在接收和運行Map任務時沒有問題。然而,其他節點要麼從未獲得任何Map任務,要麼獲得一輪Map任務(即所有的槽都被填充一次),然後再也沒有獲得任何。
我試過這個作爲開發我自己的LoadManager的先決條件,所以我繼續將調試LoadManager放在一起。從日誌消息中,我可以看到問題節點不斷請求Map任務,並且他們的插槽是空的。但是,他們從未被分配任何。
所有節點都與默認調度程序完美配合。當我啓用Fair Scheduler時,我剛開始遇到這個問題。
任何想法?有人有這個工作,並採取了我已經錯過了一個步驟?
編輯:值得注意的是公平調度程序的Web用戶界面頁面指出正確的公平份額計數,但運行列總是少。我使用默認的每個用戶池,一次只有1個用戶和1個作業。
呃,404上的鏈接。 – dfrankow 2013-02-15 22:52:31
@dfrankow:已修復,通過google找到它。 – BigChief 2013-02-15 23:45:53