执行mapreduce任务时,执行抛出以下错误:FAILED Task attempt_201509030947_0001_r_000000_0 failed to report status for 600 seconds
原因分析:执行超时,reduce在执行合并索引操作时间较长,超过了600秒的时间限制。
解决方案:
方案一:修改job参数
Configuration conf=new Configuration();
long milliSeconds = 1000*60*60;
conf.setLong("mapred.task.timeout", milliSeconds);
方案二:修改hadoop 配置文件里的默认设置
<property>
<name>mapred.task.timeout</name>
<value>600000</value>
<description>The number of milliseconds before a task will be terminated if it neither reads an input,
writes an output, nor updates its status string.
</description>
</property>