【问题标题】:Run hadoop job under windowswindows下运行hadoop作业
【发布时间】:2012-11-05 13:23:24
【问题描述】:

我已经在windows下成功安装了hadoop。 (Namenodes 和 jobtracker 正常启动)

现在我正在尝试运行一些示例作业:

运行以下命令(在 cygwin 中)

hadoop jar $HADOOP_INSTALL/hadoop-0.20.2-examples.jar randomwriter random-data

投掷

   Exception in thread "main" java.io.IOException: Error opening job jar: /cygdrive   /c/cygwin/home/Username/hadoop/hadoop-0.20.2-examples.jar
    at org.apache.hadoop.util.RunJar.main(RunJar.java:90)
 Caused by: java.io.FileNotFoundException: \cygdrive\c\cygwin\home\Username\hadoop\hadoop-0.20.2-examples.jar (The system cannot find the path specified)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:127)
    at java.util.jar.JarFile.<init>(JarFile.java:135)
    at java.util.jar.JarFile.<init>(JarFile.java:72)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:88)

这可能是因为cygwin无法识别CLASSPATH。

描述了这个问题的解决方案(?)here

所以,一般来说我必须执行 java 程序

java -classpath `cygpath -wp $CLASSPATH` [arguments]

现在,鉴于此,我应该如何结合最后一个执行上述 hadoop 命令?

【问题讨论】:

    标签: java windows hadoop cygwin classpath


    【解决方案1】:

    我知道这篇文章已经有一年多了,但没有标记答案。你非常接近......这应该可以工作而无需编辑任何配置。

    hadoop jar `cygpath -wp $HADOOP_INSTALL/hadoop-0.20.2-examples.jar` randomwriter random-data
    

    【讨论】:

      【解决方案2】:

      编辑 $HADOOP_HOME/bin/hadoop 文件并根据您的 cygwin 要求更改调用 java 命令的最后一行。之后调用示例作为初始调用。

      最后一行调用java是

      # run it
        exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-20
        • 1970-01-01
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多