我將作業提交給4個主機的集羣,我可以看到它正確地分佈在4個節點中,每個節點有1個映射任務。Hadoop - 強制任務嘗試在不同節點上啓動
稍後,其中一個節點失敗。
我停在故障節點上的TaskTracker,添加該節點的ID,以排除文件,並Hadoop的mradmin -refreshNodes節點的更新列表。失敗的節點從hadoop管理頁面上的可用節點列表中消失。
然後我再次啓動tasktracker,更新節點mradmin,並觀察到該節點再次出現在作業跟蹤器列表中。
在節點關閉期間,hadoop在另一個節點上重新調度map任務執行,因此它開始運行2個map任務。我已經得到了集羣不平衡:
- 2個節點分別運行的每個1個任務,
- 1節點正在運行2個任務
- 和1個節點(一個我重新啓動)的運行沒有任務。
我殺與Hadoop的工作-kill任務的工作attempt_201308010141_0001_m_000000_1,看起來像它永遠不會再次啓動 - 這樣我就可以看到運行的每個1項任務,與所有和1未決任務沒有任務1個節點3個節點在列表中。
我錯過了什麼嗎?將任務從一個節點「移動」到另一個節點的正確方法是什麼?