问题描述
win10下执行cmd Hadoop命令报错
输入 java-version
没问题
C:\Users\Lvzx>java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
查看HADOOP_HOME的系统环境变量,也是对的。
问题分析
出现这样的情况,是你的jdk是安装在C盘下,如果是非C盘,是一般不会出现这样的情况的。
解决办法
-
这个的分情况,如果你的jdk是安装在C盘,比如保持默认
C:\Program Files\Java\jdk1.8.0_66
在下面路径找到该文件
D:\Tools\hadoop-3.1.3\etc\hadoop\hadoop-env.cmd-
方法1:用路径替代符
C:\PROGRA~1\Java\jdk1.8.0_66
- 因为
PROGRA~1
是 C:\Program Files 目录的dos文件名模式下的缩写 。长于8个字符的文件名和文件夹名,都被简化成前面6个有效字符,后面~1,有重名的就~2
,~3
…
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_66
- 因为
-
用引号括起来
set JAVA_HOME="C:\Program Files"\Java\jdk1.8.0_66
-
-
如果你的jdk是比如安装在D盘下的Program Files,是D:\Program Files"\Java\jdk1.7.0_03,但是,为什么还是不可以呢?
set JAVA_HOME="D:\Program Files"\Java\jdk1.7.0_03
只能说,也许目前是个debug吧。 建议将jdk默认安装在c盘符。