最近尝试在windows开发MR程序并且提交Job,在解压缩好hadoop,配置好环境变量后,
打开cmd 输入hadoop version 的时候出现以下错误:
Error: JAVA_HOME is incorrectly set.
Please update F:\hadoop\conf\hadoop-env.cmd
出现这个问题,我首先打了下java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)
可以正确执行
然后确认了一下环境变量,貌似也没有错,JAVA_HOME的值为
C:\Program Files\Java\jdk1.8.0_91
怎么跑到hadoop上不识别了呢?
在网上搜索了下资料发现原来是路径上包含了一个空格
所以有以下2个解决办法:
1.用路径替代符
C:\PROGRA~1\Java\jdk1.8.0_91
PROGRA~1 ===== C:\Program Files 目录的dos文件名模式下的缩写
长于8个字符的文件名和文件夹名,都被简化成前面6个有效字符,后面~1,有重名的就 ~2,~3,
2.用引号括起来
"C:\Program Files"\Java\jdk1.8.0_91
修改过以后测试OK~