hadoop流媒体工作无法报告?

时间:2011-10-31 06:04:59

标签: hadoop mapreduce hadoop-streaming

所有作业都使用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 个答案:

答案 0 :(得分:1)

mapred.task.timeout的默认值为600s的说明“如果任务既不读取输入,也不写入输出,也不更新其状态字符串,则任务终止前的毫秒数。”

增加mapred.task.timeout的值可能会解决问题,但是你需要弄清楚map任务是否真的需要超过600s才能完成处理输入数据,或者代码中是否存在错误需要调试。

根据Hadoop最佳实践,平均一个地图任务应该花一分钟左右来处理一个InputSplit。