1

Ubuntu 12.04に疑似分散モードで CDHをインストールしました。

その前に、Java をインストールし、root と他のユーザー (self、hdfs) の両方に対してJAVA_HOME変数を/usr/lib/jvm/java-6-oracleエクスポートJAVA_HOMEし、エクスポートしました。正しく編集され、結果にも表示されましpathた。echoenv

それでも私のCDHインストールJAVA_HOMEは見つからない/設定されていないと訴えたので、これとエントリに従ってに追加JAVA_HOMEしました/etc/environmentDefaults env_keep+=JAVA_HOME/etc/sudoers

すべて正常に動作し、 経由Jpsでサービスが実行されていることを確認できますが、root としてサービスを停止しようとすると、次のように表示されます。

service hadoop-hdfs-datanode stop
 * Stopping Hadoop datanode: 
Error: JAVA_HOME is not set and could not be found.

他のすべてのサービスについても同様です。

私のインスタレーションにはありませんhadoop-env.sh。存在する唯一のもの/usr/lib/hadoop-0.20-mapreduce/example-confs/conf.secure/hadoop-env.shは、私が信じている例です

4

3 に答える 3

3

Cloudera はBIGTOPを使用して、JAVA_HOME を検出しようとします。あなたが私に尋ねるならば、練習はせいぜい疑わしいです。

bigtop 構成ファイルを編集することで、これを正しく動作させることができます。Debian/Ubuntu では、これを に追加し/etc/default/bigtop-utilsます。

export JAVA_HOME=/correct/path/to/java-home
于 2014-09-12T15:38:20.190 に答える
0

編集etc/hadoop/hadoop-env.shして追加 する必要がありexport JAVA_HOME=/usr/java/latestます この方法JAVA_HOMEで永久に設定されます

Hadoop のドキュメントから

ダウンロードした Hadoop ディストリビューションを解凍します。ディストリビューションで、ファイルを編集しetc/hadoop/hadoop-env.shて次のようにいくつかのパラメーターを定義します。

Java インストールのルートに設定
JAVA_HOME=/usr/java/latest をエクスポートします

于 2016-06-17T11:01:04.003 に答える