在windows下运行hadoop作业

epfja78i  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(592)

我已经成功地在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不能识别类路径。
这里描述了这个问题的解决办法
所以,一般来说,我必须执行java程序

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

现在,考虑到这一点,我应该如何准确地执行上面的hadoop命令和最后一个命令?

xmakbtuz

xmakbtuz1#

编辑$hadoop\u home/bin/hadoop文件,并根据您的cygwin需求更改调用java命令的最后一行。然后调用示例作为初始调用。
调用java的最后一行是


# run it

  exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
kqqjbcuj

kqqjbcuj2#

我知道这个帖子已经有一年多的历史了,但是没有答案。你很接近。。。这应该可以在不必编辑任何配置的情况下工作。

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

相关问题