Windows上的Hadoop - "错误地设置了JAVA_HOME错误."

Jos*_*rmo 6 windows hadoop java-home

我正在尝试让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'中,我有一行:设置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设置不正确?

小智 16

如果您的JAVA_HOME路径包含空格,则必须使用Windows 8.3路径名

  • 是对的!谢谢你拯救了我的一天。只是想让它更详细,如果您在安装 JAVA 时使用默认设置,则必须将 JAVA_HOME 设置为类似“C:\Progra~1\Java\jdk1.8.0_xxx”。(不要忘记将 xxx 替换为您实际的 jdk 更新 ID。) (2认同)

小智 10

与其他答案一样,您的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",它将正常工作.


Jab*_*bir 9

 set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131\
Run Code Online (Sandbox Code Playgroud)

以上配置抛出与您相同的错误。我在上面的 hadoop-env.cmd 中更新了上面,这实际上是SFN

set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_131\
Run Code Online (Sandbox Code Playgroud)

这使我可以更改/拥有与系统不同的 Java 版本。