Java 什么是;“未知容器id的完成事件”;在hadoop日志中是什么意思?

Java 什么是;“未知容器id的完成事件”;在hadoop日志中是什么意思?,java,hadoop,mapreduce,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

我试图在集群中的多个文件上运行一个简单的作业(wordcount示例),但大多数映射都失败了。当我参考任务日志时,我只看到如下错误:

ERROR [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Container complete event for unknown container id container_1388066512888_0001_01_000026
<property>
   <name>mapred.child.java.opts</name>
   <value>
     -Xmx4096M
   </value>
 </property>
有什么想法吗


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

我遇到了同样的错误:

ERROR [RMCommunicator Allocator] 
org.apache.hadoop.mapreduce.v2.app.rm.rmContainerLocator:未知容器id容器的容器完成事件\u 1406174606649\u 0001\u 01\u 000154

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

我是这样的:

ERROR [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Container complete event for unknown container id container_1388066512888_0001_01_000026
<property>
   <name>mapred.child.java.opts</name>
   <value>
     -Xmx4096M
   </value>
 </property>

mapred.child.java.opts
-Xmx4096M

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

您需要同时检查日志的AM和RM端,以了解发生情况的实际状态

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

AM试图请求提供集装箱集装箱\u 1388066512888\u 0001\u 01\u 000026,请求通过RM,但RM没有按照预期响应请求。 导致AM thinking容器未由RM分配,可能是因为没有更多可用资源


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

我根本没有它。