我试图在集群中的多个文件上运行一个简单的作业(wordcount示例),但是大多数Map都失败了。当我参考任务日志时,我只看到如下错误:
ERROR [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Container complete event for unknown container id container_1388066512888_0001_01_000026
你知道吗?
更新:我检查了很多次作业,有时由于Map失败而失败,有时由于reduce失败,在极少数情况下它成功地完成了。但在任何情况下,唯一的错误就是上述错误。
2条答案
按热度按时间baubqpgj1#
我遇到了同样的错误:
org.apache.hadoop.mapreduce.v2.app.rm.rmContainerLocator:未知容器id容器的容器完成事件\u 1406174606649 \u 0001 \u 01 \u 000154
它可能与mapred-site.xml中的mapred.child.java.opts属性有关。
我是这样的:
当我删除这个属性时,错误就消失了。
iszxjhcz2#
您需要同时检查日志的am和rm端,以了解发生事件的实际状态。
我猜你的节点有某种通信问题,至少在一些重要的端口上。
am试图请求集装箱\u 1388066512888 \u 0001 \u 01 \u 000026,请求已通过rm,但rm未按预期回复请求。导致我认为rm没有分配容器,可能是因为没有更多的可用资源。
但是由于rm实际上已经分配了容器,所以它会处理它的作业并返回响应。导致“未知容器”,因为从它的Angular 来看,容器从来没有被分配,并且是未知的。