「 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)
環境変数のセットアップの問題です。どうやら、今まで動作するものは見つかりませんでした。 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
私のようにあなたの問題は解決されると思います。
おそらく、指示に正しく従わなかったのでしょう。これを診断するのに役立ついくつかのことを以下に示します。
hadoop version
を実行したシェルで、export
を実行し、関連する環境変数のリストを表示します。
/usr/local/hadoop/etc/hadoop/hadoop-env.sh
ファイルに何を入れたかを見せてください。
上記のどちらでも手がかりが得られない場合は、テキストエディターを見つけて使用し、hadoop
ラッパーシェルスクリプトを(一時的に)変更します。行の先頭に「set -xv」を追加します。次にhadoop version
を実行し、生成されるものを表示します。
私は同じ問題に直面していました。それはとても簡単に思えるかもしれませんが、私の時間の2時間を奪った。上記のすべてを試しましたが、役に立ちませんでした。
シェルを終了し、システムに再度ログインして再試行しました。その後、物事はうまくいきました!
この行を〜/ .bash_profileに追加するとうまくいきました。
export HADOOP_PREFIX=/<where ever you install hadoop>/hadoop
これだけ:
お役に立てれば (:
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コマンドは現在動作しています。
私は再び幸せな男です。これは丁寧な解決策ではないことを知っていますが、少なくとも私にとってはうまくいきます。
確認してみてください:
. ~/.bashrc
(前のドットに注意)これらの変数を環境で使用できるようにします。ガイドではこれについて言及されていないようです。私はそのエラーを受け取ったので、〜/ .bashrcを次のように編集して修正しました
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
ターミナルを開いてこのコマンドを書きます
source ~/.bashrc
その後、確認してください
hadoop version
使った
export PATH=$HADOOP_HOME/bin:$PATH
の代わりに
export PATH=$PATH:$HADOOP_HOME/bin
それは私のために働いた!
上記の環境変数を追加しましたが、まだ機能しませんでした。 〜/ .bashrcでHADOOP_CLASSPATHを次のように設定するとうまくいきました:
export HADOOP_CLASSPATH=$(hadoop classpath):$HADOOP_CLASSPATH