【问题标题】:MapReduce job fails with ExitCodeException exitCode=255MapReduce 作业失败,ExitCodeException exitCode=255
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我已经解决了自己的问题,但我不确定如何解释。在 C++ 中,我有一个方法可以将指针作为 jlong​​ 返回给 Java(我将指针转换为 jlong​​),当从独立应用程序调用库时一切正常,但从 Yarn 调用相同的代码时失败。

      我编写了一个自定义信号处理程序,它帮助我知道这是一个段错误错误,所以我在指针或内存方面做错了。当我尝试从 MapReduce (Yarn) 调用同一个库时,我遇到了上一个异常。我将指针的强制转换更改为 long 而不是 jlong​​,这就是我返回给 Java 的内容。后来,当调用本机对象的句柄时,问题不再发生。我不知道这有什么帮助,但 Yarn 是如何操纵环境的。

      最好的问候。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-22
        相关资源
        最近更新 更多