Ubuntu 11.10にHadoopをインストールしようとしています。 Java_HOME
ファイル内の変数conf/hadoop-env.sh
to:
# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
そして、これらのコマンドを実行します(スタンドアロン操作):
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
$ cat output/*
しかし、3番目のコマンドを実行すると次のエラーが発生します。
エラー:Java_HOMEが設定されていません
それは Java_HOME
変数が正しく設定されていませんか?
コメントタグを削除し、Java_HOME
内のhadoop-env.sh
および適切な.bashrc
や.profile
を変更したことを確認してください。
# export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
あるべき
export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
Java_HOME
で/etc/profile
とPATH
をすべてのユーザーに設定できます(これを間違ったパスに設定していないことを確認してください)。
また、ログアウト/ログインするか、source /etc/profile
を実行して、新しい変更を有効にすることを忘れないでください。
Hadoop構成ディレクトリにあるJava_HOME
ファイルにもhadoop-env.sh
を設定する必要があります。デフォルトでは、Java_HOME
設定行はコメント化されています。
端末にecho $Java_HOME
と入力して、Java_HOME
が設定されていることを確認します。
Java -version
と入力して、実際に使用しているJavaのバージョン)を知ることもできます。
ところで、あなたの説明を読むと、実際に書いているようです
export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
ファイルconf/hadoop-env.sh
で、ターミナルまたは~/.bashrc
または~/.profile
に書き込み、source < path to modified file >
と入力します。
.bashrc
ファイル:
export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")
パッケージを更新すると動的に変更されます。
私のために働いた解決策は、私のJava_HOME
in /etc/environment
Java_HOME
は、/ etc/profileファイル内で設定できます。Java_HOME
またはシステム変数は/etc/environment
。
Nanoやvimなどのテキストエディターで/ etc/environmentを開き、次の行を追加します。
Java_HOME="/usr/lib/jvm/your_Java_directory"
変数をロードします。
source /etc/environment
変数が正しくロードされたかどうかを確認します。
echo $Java_HOME
これをコピーexport Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk
からhadoop-env.sh
ファイル。
Java_HOME
は、Javaバイナリが存在する場所です。
上記の解決策を試してみましたが、次のことがうまくいきました
export Java_HOME=/usr/Java/default