在hadoop日志中,“未知容器ID的完整事件”是什么意思?

时间:2013-12-26 14:41:54

标签: java hadoop mapreduce

我正在尝试在群集中的多个文件上运行一个简单的作业(wordcount示例),但大多数地图都失败了。当我提到任务日志时,我只看到这样的错误:

ERROR [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Container complete event for unknown container id container_1388066512888_0001_01_000026

有什么想法吗?

更新:我多次检查作业,有时由于地图失败而导致失败,有时由于减少失败而在极少数情况下成功完成。但在任何情况下,唯一的错误就是上述错误。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的错误:

ERROR [RMCommunicator Allocator] 

org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator:未知容器ID容器完成事件container_1406174606649_0001_01_000154

它可能与mapred-site.xml中的mapred.child.java.opts属性有关。

我喜欢这样:

<property>
   <name>mapred.child.java.opts</name>
   <value>
     -Xmx4096M
   </value>
 </property>

当我删除此属性时,错误消失了。

答案 1 :(得分:0)

您需要检查该容器的日志的AM和RM端,以了解所发生事件的实际状态。

我的猜测是您的节点遇到某种通信问题,至少在某些重要端口上存在问题。

上午我试图要求容器container_1388066512888_0001_01_000026,请求已经通过RM,但是RM没有回复请求,因为它是假设的。 由于没有更多可用资源,导致AM思维容器没有被RM分配。

但是由于RM实际上已经分配了容器,它会处理它的工作并返回响应。导致“未知容器”,因为从它的角度来看容器从未被分配并且是未知的。