我正在尝试在群集中的多个文件上运行一个简单的作业(wordcount示例),但大多数地图都失败了。当我提到任务日志时,我只看到这样的错误:
ERROR [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Container complete event for unknown container id container_1388066512888_0001_01_000026
有什么想法吗?
更新:我多次检查作业,有时由于地图失败而导致失败,有时由于减少失败而在极少数情况下成功完成。但在任何情况下,唯一的错误就是上述错误。
答案 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实际上已经分配了容器,它会处理它的工作并返回响应。导致“未知容器”,因为从它的角度来看容器从未被分配并且是未知的。