【问题标题】:Hadoop Job not running in big dataset throwing Child ErrorHadoop 作业未在大数据集中运行并引发子错误
【发布时间】:2015-08-13 19:59:02
【问题描述】:

我在 Hadoop 上运行的应用程序上运行 Map-Reduce 作业。它对于较小的数据集运行正常,但增加数据大小会导致它失败,并显示如下消息。

我在mapred.child.*.java.opts 中尝试了各种内存配置,但没有成功。该过程运行到 6% 或 7%,然后失败。如果数据大小减小,它将运行更高的百分比值然后失败。我可以看到这个特定的进程只分配给一个映射器。

java.lang.Throwable: org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250) 的子错误导致 作者:java.io.IOException:任务进程以非零状态退出 137。 在 org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:237)

【问题讨论】:

  • 你可能想解释你失败过程的逻辑,或者如果它不是太长的话,把代码贴出来。

标签: java linux hadoop child-process sigkill


【解决方案1】:

可能的原因:为任务跟踪器分配的内存(mapred-site.xml 中 mapred.*.child.java.opt 的总和)大于节点的实际内存

【讨论】:

    猜你喜欢
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 2014-03-07
    • 1970-01-01
    相关资源
    最近更新 更多