私はeclipseを使ってmap-reduceプログラムのjarファイルをエクスポートしています。私がコマンドを使ってjarを実行しているとき
hadoop jar hadoop-prog.jar WordCount /home/temp/input /home/temp/output
それは常にエラーを表示します:
Exception in thread "main" java.lang.ClassNotFoundException: WordCount
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Btw、私はインターネットからwordcountのサンプルのjarファイルを取得し、それは非常にうまく走った。
私はどこに問題があるのか分からなかった。
回答:
回答№1の場合は7例で提供されている単語数を実行しようとしている場合は、次のコマンドを実行する必要があります。
hadoop jar hadoop*examples*.jar wordcount /home/temp/input /home/temp/output
ワードカウントをオンにする方法の詳細 このリンク.
一般的に、あなた自身のMap / Reduceジョブを開発している場合は、ドライバクラスの完全なパッケージ名を含める必要があります。
hadoop jar wordcount.jar com.something.WordCount /home/temp/input /home/temp/output