14.04 LTSにhadoop-2.4.0をインストールしました。
このリンク に従って、サービスを正常に開始および停止しました。
しかし、例を実行しようとしたとき、
$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
そして、私は、
Not a valid JAR: /hadoop*examples*.jar
EDIT 1
Java 7(つまりJDK 1.7)をインストールしましたが、Hadoop-1.0.3を使用すると正常に動作します。
Hadoop-2.4.0で実行しようとすると問題が発生します。
NOTE
このチュートリアル 私のシステムは以下と異なります
- Java 6の代わりにJava 7を使用しています。
- Hadoop-1.0.3の代わりにHadoop 2.4.0を使用しています
- 私はUbuntu 10.04ではなくUbuntu 14.04を使用しています。
そして、14.04のJava 7でHAdoop-1.0.3を正常に実行できます。
Hadoop-2.4.0でも同じことを実行できないのはなぜですか。
また、同じチュートリアルに従っていて、最新のインストール(hadoop 2.7.1)で同じ問題に直面しました。私はそれをから変更しなければなりませんでした
$ /bin/hadoop jar hadoop*examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
に
$ /bin/hadoop jar ./share/hadoop/mapreduce/hadoop-*-examples*.jar wordcount /user/hduser/gutenberg /user/hduser/gutenberg-output
同じ問題がありました。これが解決策です。
OS-Ubuntu 14.04 64ビット
Java-OpenJDK 7
Hadoop-Hadoop 2.4.1
ステップ1:入力用のhdfsディレクトリを作成します:hadoop dfs -mkdir -p /usr/local/hadoop/input
ステップ2:次に、hadoopコマンドを使用して、jarファイルをこのフォルダーに貼り付けます。hadoop dfs -copyFromLocal /home/hduser/Desktop/sample.txt /usr/local/hadoop/input
ステップ3:ターミナルの$ HADOOP_HOME/share/hadoop/mapreduceフォルダーに移動します。cd $HADOOP_HOME/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount /usr/local/hadoop/input/sample.txt /usr/local/hadoop/output
ここで、/ usr/local/hadoop/outputフォルダーが作成されます。毎回新しい名前を付ける必要があります。
注:ターミナルでls
を使用して、フォルダーの入出力を単純にリストすることはできません。
ステップ4:出力を表示するには、これを使用します:hadoop dfs -cat /usr/local/hadoop/output/part-r-00000
このチュートリアルは、次のソフトウェアバージョンでテストされています。
Ubuntu Linux 10.04 LTS(非推奨:8.10 LTS、8.04、7.10、7.04)
10.04〜2012以降は更新されていません。それは(問題があると思います)。
14.04と10.04の動作はまったく異なります...
Sun Java 6
Sun JavaはUbuntuで使用できなくなりました ですので、おそらく動作していません。