打赏

Windows环境下执行hadoop命令出现Error: JAVA_HOME is incorrectly set Please update D:\SoftWare\hadoop-2.6.0\conf\hadoop-env.cmd错误的解决办法(图文详解)

 

 

 

    不多说,直接上干货!

 

 

导读

   win下安装hadoop
  大家,别小看win下的安装大数据组件和使用
 
 
 

 

  问题详情

    比如在win下的cmd下执行如下命令,会出现

 

 

 

 

    有人会很好奇,说

  首先打了下java -version,对的呀。

C:\Users\lenovo>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)

C:\Users\lenovo>

 

  查看HADOOP_HOME的系统环境变量,也是对的啊,那是为什么呢?且听我如下慢慢道来。

 

 

 

 

 

 

  问题分析

          出现这样的情况,是你的jdk是安装在C盘下,如果是非C盘,是一般不会出现这样的情况的。

 

 

 

 

 

    解决办法(如果你的jdk是安装在C盘)

    这个的分情况,如果你的jdk是安装在C盘,比如保持默认

 

  

 

 

 

 

 

   则

  

 

 

   找到

  方法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

 

 

 

 

C:\Users\lenovo>hadoop version
Hadoop 2.6.0
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r e3496499ecb8d220fba99dc5ed4c99c8f9e33bb1
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using /D:/SoftWare/hadoop-2.6.0/share/hadoop/common/hadoop-common-2.6.0.jar

C:\Users\lenovo>

 

 

 

 

  方法2、用引号括起来

 set JAVA_HOME="C:\Program Files"\Java\jdk1.8.0_66

C:\Users\lenovo>hadoop version
'C:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Hadoop 2.6.0
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r e3496499ecb8d220fba99dc5ed4c99c8f9e33bb1
Compiled by jenkins on 2014-11-13T21:10Z
Compiled with protoc 2.5.0
From source with checksum 18e43357c8f927c0695f1e9522859d6a
This command was run using /D:/SoftWare/hadoop-2.6.0/share/hadoop/common/hadoop-common-2.6.0.jar

C:\Users\lenovo>

 

 

 

 

 

 

 

 

 

    解决办法(如果你的jdk是安装在非C盘)

      则,压根不需修改hadoop-env.cmd。

 

    比如如下你的安装在E:\software\jdk1.8

 

 

     但是,如果你的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盘符。

 

 

    只能这样来

   非C盘就是不能加引号,

  成功了!

   

 

 

 

 

 

 

欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑
 
 
 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

 

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

 

      对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-03-16 12:38  大数据和AI躺过的坑  阅读(11754)  评论(0编辑  收藏  举报