【发布时间】:2015-08-26 05:09:20
【问题描述】:
我正在尝试运行需要共享库(.so 文件)的 MapReduce 作业。如果我使用独立 Java 程序中的共享库,我完全没有问题(该程序使用 java.library.path 来查找库),但如果我尝试使用 MapReduce 程序中的相同本机方法,那么我获取我在下面粘贴的异常(对于我使用分布式缓存的 MapReduce 程序)。
我知道实际上正在加载本机库,并且从 MapReduce 调用本机代码 (C++),因为本机函数将某些内容打印到标准输出,但在本机函数返回后,我看到 "信号被捕获,正在退出" 消息,然后应用程序日志仅提供以下信息(我认为 255 在这种情况下是 -1)但仅此而已,我不知道在哪里可以查找信息来调试此问题或找出为什么会有未捕获的信号。任何关于在哪里寻找调试/日志信息的指针都非常感谢。
容器启动异常:ExitCodeException exitCode=255: ExitCodeException exitCode=255:在 org.apache.hadoop.util.Shell.runCommand(Shell.java:538) 在 org.apache.hadoop.util.Shell.run(Shell.java:455) 在 org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702) 在 org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195) 在 org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300) 在 org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81) 在 java.util.concurrent.FutureTask.run(FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)
容器以非零退出代码 255 退出
【问题讨论】:
标签: java hadoop mapreduce shared-libraries hadoop-yarn