我正在使用hadoop1.0.3运行一些数据处理作业。我的reducer不写入hdfs,而是让reducer直接将结果写入mongodb。最近我开始面对一个问题;我的作业有时会“超时”并重新启动,从hadoop控制台收到的消息是“task attempt\u 201301243\u 0003\u m\u000001\u 0 failed to report status for 601 seconds”。所以我认为问题在于我的方法,即写mongodb而不是hdfs。我想伪造hadoop作业状态报告。我该怎么做?请帮忙。
另外,我观察到我的减速机总是保持0%,只有map阶段显示以%为单位的常量增量。一旦工作完成,减速机突然显示100%。
谢谢,问候,莫辛
1条答案
按热度按时间r7knjye21#
您在控制台上看到的消息来自Map阶段。注意其中的“m”。要继续发送进度,可以执行context.progress();在map方法中。http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapreduce/statusreporter.html