Mapred Child Error:AWS EMR实例已终止

时间:2013-02-07 15:40:34

标签: java hadoop amazon-ec2 heap amazon-emr

当我运行中型类型的EMR实例时,我在其中一个步骤中发现EMR实例已终止。我在AWS中使用了5个实例的中型实例。它的容量是3.75 GB RAM。我将堆大小设置为3000 MB,用于属性mapred.child.java.opts。我已经使用JobConf设置了这个参数,如conf.set(“mapred.child.java.opts”,“ - Xmx3000m”)。我有三个步骤来运行Amazon EMR程序。在最后一步,我遇到了这个问题,java.lang.Throwable:Child Error。工作失败的原因是什么?另外,子节点中映射器所需的最佳堆大小是多少。

1 个答案:

答案 0 :(得分:0)

除非你正在做一些特别的事情 - 3000M太高了。你能检查每台机器运行多少个mapo任务吗?如果它运行不止一个 - 它会轻易地吹掉3.75GB内存(有些内核必须是免费的)。

我们提供hadoop作为服务(Qubole)。默认情况下(在我之前的演出中) - 我们使用1024M作为默认值。你会想要将io.sort.mb设置得远低于那个(比如400-500MB)。只有当用户正在做一些特别的事情(比如一个大的地图侧连接)时才会有理由将其搞砸。如果必须增加 - 我们将不得不减少每台机器的最大并发映射任务数(如果它不止一个)。