web-dev-qa-db-ja.com

HADOOPサンプルの実行時に有効なJARではありません

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

このチュートリアル 私のシステムは以下と異なります

  1. Java 6の代わりにJava 7を使用しています。
  2. Hadoop-1.0.3の代わりにHadoop 2.4.0を使用しています
  3. 私はUbuntu 10.04ではなくUbuntu 14.04を使用しています。

そして、14.04のJava 7でHAdoop-1.0.3を正常に実行できます。

Hadoop-2.4.0でも同じことを実行できないのはなぜですか。

2
A J

また、同じチュートリアルに従っていて、最新のインストール(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
1
maicalal

同じ問題がありました。これが解決策です。

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

1
kishorer747

このチュートリアルは、次のソフトウェアバージョンでテストされています。

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で使用できなくなりました ですので、おそらく動作していません。

0
Tim