web-dev-qa-db-ja.com

WindowsでのHadoop-「エラーJava_HOMEが正しく設定されていません。」

WindowsマシンでHadoopを「ローカルモード」で実行しようとしています。私はこのガイドを使用しています: http://hadoop.Apache.org/docs/r1.2.1/single_node_setup.html

コマンドbin/hadoopを実行すると、次のエラーメッセージが表示されます。

エラー:Java_HOMEが正しく設定されていません。 C:...\hadoop-2.7.1\conf\hadoop-env.cmdを更新してください

hadoop-env.cmdの中に、次の行があります:set Java_HOME=%Java_HOME%

コマンドラインでecho %Java_HOME%と入力すると、次のようになります。C:\Java\jdk1.0.8_51

hadoop-env.cmdの行を次のように変更しても:set Java_HOME=C:\Java\jdk1.0.8_51同じエラーが発生します...

Java_HOMEが正しく設定されていないのはなぜですか?

8
Joseph Palermo

Java_HOMEパスにスペースが含まれている場合は、 Windows 8.3パス名 を使用する必要があります。

17
Mohamed F

他の回答と同様に、Java環境パスにスペースを含めることはできません。解決策は次のとおりです。

  1. Cmd行で、jdkを含むディレクトリ(私の場合はC:\ Program Files\Java\jdk1.8.0_73)を充電します。
  2. 次の行「for%I in(。)do echo%〜sI」を実行して、インストールされているjdkの短い名前を表示します(私の場合はC:\ PROGRA〜1\Java\JDK18〜1.0_7)
  3. ファイル「hadoop-env.cmd」で、「Java_HOME =%Java_HOME%」の行を「Java_HOME = C:\ PROGRA〜1\Java\JDK18〜1.0_7」に変更します。
  4. ファイル「hadoop-env.cmd」を再度実行すると、正しく機能します。
12
Mondher Sendi
 set Java_HOME=C:\Program Files\Java\jdk1.8.0_131\

上記の構成では、同じエラーがスローされていました。上記をhadoop-env.cmdで更新しましたが、これは実際には [〜#〜] sfn [〜#〜]

set Java_HOME=C:\Progra~1\Java\jdk1.8.0_131\

これにより、システムのバージョンとは異なるJavaバージョンを変更/変更することができました。

5
Jabir

Conf\hadoop-env.cmdで「%Java_HOME%」を使用します

2
nav3916872

Hadoop-env.cmdの@remから@を削除して、Java_HOME =%Java_HOME%を設定してみてください

rem The Java implementation to use.  Required.

java_HOME =%Java_HOME%を設定します

次に、hdfs namenode-formatを実行してみてください

この解決策は私のために働いた

1
Sree Ram Iyer

Java環境パスに "C:\ Program Files\Java\xxxxx"などのスペースが含まれている場合、Word《 Program Files》にはスペースが含まれているため、CMDは識別できません。

これが正解です

0
PeaSir