![](/img/trans.png)
[英]JAVA_HOME is incorrectly set when launching Zookeeper on Windows
[英]Hadoop on Windows - "Error JAVA_HOME is incorrectly set."
我试图让 Hadoop 在我的 Windows 机器上运行“本地模式”。 我一直在使用本指南: 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
我set JAVA_HOME=C:\\Java\\jdk1.0.8_51
得到同样的错误......
怎么可能是我的JAVA_HOME
不正确?
如果您的JAVA_HOME路径包含空格,则必须使用Windows 8.3路径名
像其他答案一样,您的Java环境路径不能包含空格。 解决方法如下:
在conf \\ hadoop-env.cmd中使用“%JAVA_HOME%”
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版本。
尝试从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”,则单词“ Program Files”包含空格,因此CMD无法识别
这是正确的答案
尝试将 java 路径放在双层中。 例子:
JAVA_HOME="C:\Program Files\Java\jdk-12.0.1"
它应该可以正常工作。
在hadoop-config.xml中,逻辑是
如果不存在,则为%JAVA_HOME%\\ bin \\ java.exe(echo错误:JAVA_HOME设置不正确。echo请更新%HADOOP_HOME%\\ conf \\ hadoop-env.cmd goto:eof)
如果您的Java环境路径包含空格 ,例如“ C:\\ Program Files \\ java \\ xxxxx”,则单词“ Program Files”包含空格 ,因此CMD无法识别
因此,您可以改为更改路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.