java - MapReduce 作业因 ExitCodeException exitCode=255 失败

标签 java hadoop mapreduce shared-libraries hadoop-yarn

我正在尝试运行需要共享库(.so 文件)的 MapReduce 作业。如果我使用独立 Java 程序中的共享库,我根本不会遇到问题(该程序使用 java.library.path 来查找库),但是如果我尝试使用 MapReduce 程序中的相同 native 方法,那么我获取我在下面粘贴的异常(对于我使用分布式缓存的 MapReduce 程序)。

我知道 native 库实际上正在加载,并且从 MapReduce 调用 native 代码(C++),因为 native 函数将某些内容打印到标准输出,但在 native 函数返回后,我看到一个“信号已捕获,正在退出” “ 消息,然后应用程序日志仅提供以下信息(我认为在本例中 255 是 -1),但仅此而已,我不知道还能在哪里查找信息来调试此问题或找出为什么有未捕获的信号。任何有关在哪里查找调试/日志信息的指示都将受到赞赏。

Exception from container-launch: ExitCodeException exitCode=255: ExitCodeException exitCode=255: at org.apache.hadoop.util.Shell.runCommand(Shell.java:538) at org.apache.hadoop.util.Shell.run(Shell.java:455) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702) at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

容器以非零退出代码 255 退出

最佳答案

显然,MR程序在运行shell程序时遇到了问题。请检查您的C++程序的正确性。

关于java - MapReduce 作业因 ExitCodeException exitCode=255 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764971/

相关文章:

java - 如何在 Intellij IDEA 11 中的一个模块中设置 Java 和 Scala?

java - 整数不等于时不进行比较

hadoop - Spark HistoryServer 未启动

java - 映射 100% 减少 0% 运行 hadoop 字数

Java LinkedList 迭代时删除的最安全方法

java - 除了堆转储和线程转储之外,查找 java.exe 进程的内容

hadoop - 如何从每个节点访问 hadoop-yarn 应用程序上的 hdfs?

hadoop - 如何使用 MAP-REDUCE java 程序将 HBASE 表加载到 HDFS

hadoop - 从MySql DB导入数据到MapR DB/HBase的选项

javascript - Riak 在 MapReduce 查询中失败。使用哪种配置?