# 壹、故障现象
```xml
Microsoft Windows [版本 10.0.18362.239]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\Chirius>hadoop version
系统找不到指定的路径。
Error: JAVA_HOME is incorrectly set.
Please update C:\dhc_hlk\hadoop-2.8.5\etc\hadoop\hadoop-env.cmd
'-Xmx512m' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Chirius>

```

# 贰、尝试解决
首先,本人遇见上述错的先决条件是:在安装jdk时,使用的是jdk的默认安装路径 C:\Program Files\Java\jdk1.xxxx ,然后在Windows电脑上解压安装本地hadoop,正确配置hadoop的系统环境变量$HADOOP_HOME及$HADOOP_HOME/etc/hadoop/hadoop-env.cmd文件的java安装路径前提下,报了上图中的这个错

报错分析:

在Windows中安装jdk时,如果是安装在C:\Program Files\Java\jdk1.8.0_161路径下,如果需要在其他组件中配置java的环境时,因为C:\Program Files是Windows系统的系统盘,可能在某些场合下访问的时候,必须以Windows管理员的身份去访问,例如:我们在Windows中解压安装了hadoop,那么需要在$HADOOP_HOME/etc/hadoop/hadoop-env.cmd文件中手动修改java的安装路径,即:set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161

![hadop01](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810231608507-620727313.png)

而我们的jdk安装在jdk的默认安装路径下,所以该文件路径有可能需要管理员访问权限才可以访问,所以如果像上图中这样配置会导致hadoop安装失败,失败的原因则是未检测到jdk环境,才会报**Error: JAVA_HOME is incorrectly set.**

# 叁、解决方法
将$HADOOP_HOME/etc/hadoop/hadoop-env.cmd文件中的 set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161 修改为 set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_161 保存,然后重新在cmd窗口输入 hadoop version 命令,即可成功!
![hadoop02](https://img2018.cnblogs.com/blog/1035487/201908/1035487-20190810231608732-1941262061.png)

注意:在$HADOOP_HOME/etc/hadoop/hadoop-env.cmd文件中的这一行 set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_161 中不能有空格!

```xml
Microsoft Windows [版本 10.0.18362.239]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\Chirius>hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /D:/Seven/ways/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar

C:\Users\Chirius>
```

hadoop安装解决之道的更多相关文章

  1. hadoop安装遇到的各种异常及解决办法

    hadoop安装遇到的各种异常及解决办法 异常一: 2014-03-13 11:10:23,665 INFO org.apache.hadoop.ipc.Client: Retrying connec ...

  2. Hadoop安装成功之后,访问不了web界面的50070端口怎么解决?

    Hadoop安装成功之后,访问不了web界面的50070端口 先查看端口是否启用 [hadoop@s128 sbin]$ netstat -ano |grep 50070 然后查看防火墙的状态,是否关 ...

  3. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  4. hadoop安装实战(mac实操)

    集群环境配置参考(http://blog.csdn.net/zcf1002797280/article/details/49500027) 参考:http://www.cnblogs.com/liul ...

  5. 淘宝杨志丰:OceanBase--淘宝结构化大数据解决之道

    时至今日,“Big data”(大数据)时代的来临已经毋庸置疑,尤其是在电信.金融等行业,几乎已经到了“数据就是业务本身”的地步.这种趋势已经让很多相信数据之力量的企业做出改变.恰逢此时,为了让更多的 ...

  6. Hadoop安装(Ubuntu Kylin 14.04)

    安装环境:ubuntu kylin 14.04   haoop-1.2.1   hadoop下载地址:http://apache.mesi.com.ar/hadoop/common/hadoop-1. ...

  7. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...

  8. Hadoop安装教程_单机/伪分布式配置

    环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统(可参考使用VirtualBox安装CentOS).如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoo ...

  9. 新手推荐:Hadoop安装教程_单机/伪分布式配置_Hadoop-2.7.1/Ubuntu14.04

    下述教程本人在最新版的-jre openjdk-7-jdk OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/ ...

随机推荐

  1. 并发编程-concurrent指南-原子操作类-AtomicLong

    可以用原子方式更新的 long 值.有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范.AtomicLong 可用在应用程序中(如以原子方式增加的序列号), ...

  2. 【POJ - 2386】Lake Counting (dfs+染色)

    -->Lake Counting 直接上中文了 Descriptions: 由于近日阴雨连天,约翰的农场中中积水汇聚成一个个不同的池塘,农场可以用 N x M (1 <= N <= ...

  3. 【原创】面试官:讲讲mysql表设计要注意啥

    引言 近期由于复习了一下mysql的内容,有些心得.随手讲其中一部分知识,都是一些烟哥自己平时工作的总结以及经验.大家看完,其实能避开很多坑.而且很多问题,都是面试中实打实会问到的! 比如 OK,具体 ...

  4. C++中 / 和 % 在分离各位时的妙用

    在学习c++的过程中,我们一般用 / 和 % 来分解数字的各个位 取整 (/) 比如1234 / 10 等于 123.4,这相当于把前三位分解出来了 取余(%) 比如 12345 的分解方法 个位:1 ...

  5. 3. Django每日一码 之 Serializers 源码

    2019-7-6 今日源码:rest-framework 序列化Serializers 序列化组件Serializers 源码分析 首先,它需要 data .many . instance,其中 in ...

  6. 基于SpringBoot的Web API快速开发基础框架

    其实还是很因为懒,才会有这个案例项目的产生,每次开启一个终端的小服务都要整理一次框架,造成重复的.不必要的.缺乏创造性的劳动,SO,本着可以用.用着简单的原则上传代码到Github,希望有需要的朋友直 ...

  7. solidity智能合约如何判断地址为0或空

    智能合约地址判断 在旧版本中可使用以下代码来进行比较: owner != 0x0 但如果在新版本中使用,则会提示错误信息. 那么,如何正确使用来比较地址是否为空呢. 解决方案 可以使用address( ...

  8. 牛逼了,教你用九种语言在JVM上输出HelloWorld

    我们在<深入分析Java的编译原理>中提到过,为了让Java语言具有良好的跨平台能力,Java独具匠心的提供了一种可以在所有平台上都能使用的一种中间代码——字节码(ByteCode). 有 ...

  9. JAVA面试题 手写ArrayList的实现,在笔试中过关斩将?

    面试官Q1:可以手写一个ArrayList的简单实现吗? 我们都知道ArrayList是基于数组实现,如果让你实现JDK源码ArrayList中add().remove().get()方法,你知道如何 ...

  10. C# .net Ueditor实现图片上传到阿里云OSS 对象存储

    在学习的时候,项目中需要实现在Ueditor编辑器中将图片上传到云储存中,老师演示的是上传到又拍云存储,既然看了一遍,直接照搬不算本事,咱们可以依葫芦画瓢自己来动手玩玩其它的云存储服务. 现在云计算产 ...