我的hadoop作业在其reducer任务上有很高的"Killed Task Attempts"数量,我检查Killed Task的状态:
Request received to kill task 'attempt_201308122006_41526_r_000030_1' by user
-------
Task has been KILLED_UNCLEAN by the user
并且没有stdout和stderr日志
是什么原因造成的?我该如何解决?
如果您启用了推测执行,那么您可能会看到许多映射/减少任务将被"杀死"。这是因为hadoop在不止一个任务跟踪器上运行长时间运行的任务,并且第一个完成"胜利"的任务,而其他任务则被杀死。
一般来说,我只会担心在作业跟踪器中"失败"的任务尝试
尝试关闭推测执行:
mapred.map.tasks.speculative.execution = false
mapred.reduce.tasks.speculative.execution = false
如果不是推测性执行,可能是Fair Scheduler使用minMaps和minReduces为池声明任务跟踪器。