2011-10-31 53 views
0

所有作業使用Hadoop的流成功運行,但突然我開始看到由於錯誤工人一體機hadoop streaming作業無法報告?

Hadoop job_201110302152_0002 failures on master 

Attempt Task Machine State Error Logs 
attempt_201110302152_0002_m_000037_0 task_201110302152_0002_m_000037 worker2 FAILED 
Task attempt_201110302152_0002_m_000037_0 failed to report status for 622 seconds. Killing! 
------- 
Task attempt_201110302152_0002_m_000037_0 failed to report status for 601 seconds. Killing! 
Last 4KB 
Last 8KB 
All 

問題:

- Why does this happening ? 
- How can I handle such issues? 

謝謝

回答

1

默認爲600s的mapred.task.timeout的說明指出「如果任務不會讀取inpu,任務將終止之前的毫秒數t,寫入輸出,也不更新其狀態字符串。 「

增加mapred.task.timeout的值可能會解決問題,但您需要弄清楚是否實際需要600多個地圖任務來完成處理輸入數據,或者如果在地圖任務中存在錯誤要調試這就需要代碼。

根據Hadoop的最佳實踐,平均一個地圖的任務應該採取一分鐘左右來處理InputSplit。

+0

感謝的Praveen,我會檢查出來,讓你知道 – daydreamer