0

Windowsに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 を認識できないためにスローされる可能性があります。

この問題の解決策 (?) については、こちらで説明しています

したがって、一般に、Javaプログラムを次のように実行する必要があります

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

では、上記の hadoop コマンドを最後のコマンドと組み合わせてどのように正確に実行すればよいでしょうか?

4

2 に答える 2

1

この投稿が 1 年以上前のものであることは認識していますが、マークされた回答はありません。あなたは非常に近いです...これは、構成を編集しなくても機能するはずです。

hadoop jar `cygpath -wp $HADOOP_INSTALL/hadoop-0.20.2-examples.jar` randomwriter random-data
于 2014-01-08T19:00:24.553 に答える
0

$HADOOP_HOME/bin/hadoop ファイルを編集し、cygwin の要件に従って、java コマンドを呼び出す最後の行を変更します。その後、最初の呼び出しとして例を呼び出します。

javaを呼び出す最後の行は

# run it
  exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
于 2012-11-05T14:58:13.243 に答える