Hadoop示例作业因容器启动时出现异常而失败

时间:2015-03-03 19:30:54

标签: hadoop hdfs yarn

我有一个包含2个节点的群集设置,我正在尝试wordcount示例。当我发送作业并在我的ResourceManager Web GUI上监视它时,我得到了这个例外

Diagnostics: Exception from container-launch.
Container id: container_1425407150767_0009_02_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1:
        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:
715)
        at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.la
unchContainer(DefaultContainerExecutor.java:211)
        at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.C
ontainerLaunch.call(ContainerLaunch.java:302)
        at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.C
ontainerLaunch.call(ContainerLaunch.java:82)
        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)

当我在Web GUI上查看我的日志时,我看到了这个

'"C:\Program Files\Java\jdk1.7.0_75"' is not recognized as an internal or external command,
operable program or batch file.

这是什么意思?我有我的JAVA_HOME,一切设置正确,我不知道是什么导致了这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这意味着您的Java配置不正确(在路径中)。

检查 JAVA_HOME ,它应该指向

  

C:\ Program Files \ Java \ jdk1.7.0_75

和路径应该像$JAVA_HOME/bin

您需要在PATH变量中保留可执行路径,而不是基本HOME目录。

希望这可以帮助你..

答案 1 :(得分:0)

我遇到了同样的麻烦,我已经解决了。

  1. 避免使用c:\​​ program files中的java
  2. 将C:\ Program Files \ Java \ jdk1.7.0_75复制到 C:\ Java \ jdk1.7.0_75 ,以跳过“Program Files”上的“空格”并设置JAVA_HOME到C:\ Java \ jdk1.7.0_75

    1. 检查JAVA_HOME的引用
    2. 在hadoop-env.cmd检查你的JAVA_HOME

      set JAVA_HOME=C:\Java\jdk1.7.0_75
      

      set JAVA_HOME="C:\Java\jdk1.7.0_75"
      

      换句话说,“”对Windows参数不起作用。