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
が正しく設定されていないのはなぜですか?
Java_HOMEパスにスペースが含まれている場合は、 Windows 8.3パス名 を使用する必要があります。
他の回答と同様に、Java環境パスにスペースを含めることはできません。解決策は次のとおりです。
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バージョンを変更/変更することができました。
Conf\hadoop-env.cmdで「%Java_HOME%」を使用します
Hadoop-env.cmdの@remから@を削除して、Java_HOME =%Java_HOME%を設定してみてください
rem The Java implementation to use. Required.
java_HOME =%Java_HOME%を設定します
次に、hdfs namenode-formatを実行してみてください
この解決策は私のために働いた
Java環境パスに "C:\ Program Files\Java\xxxxx"などのスペースが含まれている場合、Word《 Program Files》にはスペースが含まれているため、CMDは識別できません。
これが正解です