大数据集中的 Hadoop 作业不 运行 抛出子错误

Hadoop Job not running in big dataset throwing Child Error

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

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

java.lang.Throwable: Child Error at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250) Caused by: java.io.IOException: Task process exit with nonzero status of 137. at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:237)

可能原因:分配给tasks trackers的内存(mapred-site.xml中mapred.*.child.java.opt的总和)大于节点实际内存