“错误java\u home设置不正确”

rhfm7lfc  于 2021-06-02  发布在  Hadoop
关注(0)|答案(7)|浏览(500)

我正在尝试让hadoop在我的windows机器上运行“本地模式”。我一直在使用这个指南:http://hadoop.apache.org/docs/r1.2.1/single_node_setup.html
当我运行命令bin/hadoop时,会收到以下错误消息:
错误:java\U 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 设置不正确?

5tmbdcev

5tmbdcev1#

与其他答案一样,java环境路径不能包含空格。解决方案如下:
在cmd行中,对包含jdk的目录(在我的例子中是c:\program files\java\jdk1.8.0\u 73)收费。
执行以下行“for%i in(.)do echo%~si”以显示已安装jdk的短名称(在我的示例中是c:\progra~1\java\jdk18~1.0\u 7)
在文件“hadoop env.cmd”中,将行“java\u home=%java\u home%”更改为“java\u home=c:\progra~1\java\jdk18~1.0\u 7”。
再次运行“hadoop env.cmd”文件,它将正常工作。

tvmytwxo

tvmytwxo2#

尝试从hadoop-env.cmd中的@rem中删除@,并设置java\u home=%java\u home%

rem The java implementation to use.  Required.

设置java\u home=%java\u home%
然后尝试运行hdfs namenode-format
这个方法对我有效

vatpfxk5

vatpfxk53#

如果java\u主路径包含空格,则必须使用windows 8.3路径名

wqlqzqxt

wqlqzqxt4#

在conf\hadoop-env.cmd中使用“%java\u home%”

f4t66c6m

f4t66c6m5#

如果您的java环境路径包含空格,例如“c:\program files\java\xx”,“program files”一词包含空格,因此cmd无法识别
这是正确的答案

sdnqo3pr

sdnqo3pr6#

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版本。

xiozqbni

xiozqbni7#

在hadoop-config.xml中,逻辑是
如果不存在%java\u home%\bin\java.exe(回显错误:java\u home设置不正确)。echo请更新%hadoop\u home%\conf\hadoop-env.cmd goto:eof)
如果您的java环境路径包含空格,例如“c:\program files\java\xx”,“program files”一词包含空格,因此cmd无法识别
所以你可以改变路径。

相关问题