我已经成功地在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命令和最后一个命令呢?
发布于 2014-01-09 03:00:25
我知道这篇文章已经有一年多了,但是没有答案。你很接近了..。这应该不需要编辑任何配置就可以工作。
hadoop jar `cygpath -wp $HADOOP_INSTALL/hadoop-0.20.2-examples.jar` randomwriter random-data发布于 2012-11-05 22:58:13
编辑$HADOOP_HOME/bin/hadoop文件,并根据cygwin要求更改调用java命令的最后一行。之后,将该示例作为初始调用调用。
调用java的最后一行是
# run it
exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"https://stackoverflow.com/questions/13233043
复制相似问题