当我为medium type运行emr示例时,我发现在其中一个步骤中emr示例终止了。我在aws中使用了5个中等示例。它的容量是3.75gbram。我为属性mapred.child.java.opts指定了3000 mb的堆大小。我使用jobconf作为conf.set(“mapred.child.java.opts”,“-xmx3000m”)这样的给定参数来设置它。我有三个步骤来运行amazon emr程序。在最后一步中,我遇到了这个问题java.lang.throwable:child error。作业失败的原因是什么。另外,子节点中Map器所需的最佳堆大小是多少。
1条答案
按热度按时间pgpifvop1#
除非你在做一些特别的事情——3000米是个太高的数字。你能检查hadoop在每台机器上运行多少map任务吗?如果它运行了不止一个内存,那么3.75gb的内存就很容易耗尽了(有些内存必须免费提供给内核)。
我们提供hadoop作为服务(qubole)。在这里(在我以前的演唱会中)默认使用1024m作为默认值。您需要将io.sort.mb设置为远低于该值(例如400-500mb)。只有当用户正在做一些特殊的事情(比如一个大的Map边连接)时,才有理由增加它。如果必须增加,我们必须减少每台机器上并发map任务的最大数量(如果多于一个)。