web-dev-qa-db-ja.com

メインクラスorg.Apache.hadoop.util.VersionInfoが見つからないか、ロードできませんでした

http://codesfusion.blogspot.com/2013/10/setup-hadoop-2x-220-on-ubuntu.html 」に従って、ubuntuにhadoopをインストールしました。しかし、hadoopバージョンを確認すると、次のエラーが表示されます。

エラー:メインクラスorg.Apache.hadoop.util.VersionInfoを検索またはロードできませんでした

また、私がしようとすると:hdfs namenode -format

次のエラーが表示されます。

エラー:メインクラスorg.Apache.hadoop.hdfs.server.namenode.NameNodeを検索またはロードできませんでした

Java使用されるバージョンは次のとおりです。

Java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
19
usb

環境変数のセットアップの問題です。どうやら、今まで動作するものは見つかりませんでした。 2.6.4を試していました。これが私たちがすべきことです

export HADOOP_HOME=/home/centos/HADOOP/hadoop-2.6.4
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export Java_LIBRARY_PATH=$HADOOP_HOME/lib/native:$Java_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

これらを.bashrcに追加し、忘れないでください

source ~/.bashrc

私のようにあなたの問題は解決されると思います。

12
Somum

おそらく、指示に正しく従わなかったのでしょう。これを診断するのに役立ついくつかのことを以下に示します。

  • hadoop versionを実行したシェルで、exportを実行し、関連する環境変数のリストを表示します。

  • /usr/local/hadoop/etc/hadoop/hadoop-env.shファイルに何を入れたかを見せてください。

  • 上記のどちらでも手がかりが得られない場合は、テキストエディターを見つけて使用し、hadoopラッパーシェルスクリプトを(一時的に)変更します。行の先頭に「set -xv」を追加します。次にhadoop versionを実行し、生成されるものを表示します。

7
Stephen C

私は同じ問題に直面していました。それはとても簡単に思えるかもしれませんが、私の時間の2時間を奪った。上記のすべてを試しましたが、役に立ちませんでした。

シェルを終了し、システムに再度ログインして再試行しました。その後、物事はうまくいきました!

3
lambzee

この行を〜/ .bash_profileに追加するとうまくいきました。

export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop

これだけ:

  1. $ Sudo open〜/ .bash_profileその後、前述の行を追加します
  2. $ source〜/ .bash_profile

お役に立てれば (:

2
chinglun

Hdfsを起動できるというトリックを適用した後、hadoop 2.7.2で同じ問題が発生しましたが、後で使用しているtarアーカイブにいくつかの重要な部分が欠けていることがわかりました。したがって、2.7.3をすべてダウンロードすることは、想定どおりに機能しました。

私の最初の提案は、同じバージョンまたはメジャーでtar.gzを再度ダウンロードすることです。

読み続けている場合は...この方法で問題を解決しました...新規インストール後、hadoopはjarを見つけることができませんでした。私はこの小さなトリックをしました:

私は瓶がどこにあるか見つけました
フォルダのシンボリックリンクを$ HADOOP_HOME/share/hadoop/commonにした

ln -s $HADOOP_HOME/share/hadoop/kms/Tomcat/webapps/kms/WEB-INF/lib $HADOOP_HOME/share/hadoop/common 

versionコマンドにはhadoop-common-2.7.2.jarが必要です。これにより、jarが保存されている場所を見つけることができました。

その後...

$ bin/hadoop version 
Hadoop 2.7.2
Subversion https://git-wip-us.Apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/hadoop-2.7.2/share/hadoop/kms/Tomcat/webapps/kms/WEB-INF/lib/hadoop-common-2.7.2.jar

もちろん、hadoop/hdfsコマンドは現在動作しています。

私は再び幸せな男です。これは丁寧な解決策ではないことを知っていますが、少なくとも私にとってはうまくいきます。

1
ozw1z5rd

確認してみてください:

  • Java_HOME、Hadoop configのすべてのPATH関連変数
  • 実行:. ~/.bashrc(前のドットに注意)これらの変数を環境で使用できるようにします。ガイドではこれについて言及されていないようです。
1
yǝsʞǝla

私はそのエラーを受け取ったので、〜/ .bashrcを次のように編集して修正しました

export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

ターミナルを開いてこのコマンドを書きます

source ~/.bashrc

その後、確認してください

hadoop version
0
Elsayed

使った

export PATH=$HADOOP_HOME/bin:$PATH

の代わりに

export PATH=$PATH:$HADOOP_HOME/bin

それは私のために働いた!

0
Giri

上記の環境変数を追加しましたが、まだ機能しませんでした。 〜/ .bashrcでHADOOP_CLASSPATHを次のように設定するとうまくいきました:

export HADOOP_CLASSPATH=$(hadoop classpath):$HADOOP_CLASSPATH

0