2012-11-05 167 views
0

我已經成功地安裝在Windows下的Hadoop。 (Namenodes和jobtrackers正常啓動,因爲他們應該)執行Hadoop作業

現在我想要運行一些例子作業:

運行下面的命令(在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 -classpath `cygpath -wp $CLASSPATH` [arguments] 

因爲,究竟應該怎麼執行上述的Hadoop來執行Java programms的現在,聯合最後一個命令?

回答

0

編輯$ HADOOP_HOME /斌/ Hadoop的文件,並修改根據你的cygwin要求它調用java命令的最後一行。之後,將這個例子作爲初始調用。

最後一行調用Java是

# run it 
    exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "[email protected]" 
1

我知道這個帖子是一歲多,但沒有標明答案。你很接近......這應該無需編輯任何配置工作。

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