Hadoop使用手册

2019/10/24

踩坑问题汇总

1、Windows环境下 Hadoop Error: JAVA_HOME is incorrectly set. 问题

问题描述

最近尝试在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_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, 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

修改过以后测试 hadoop version,正确输出:

Hadoop 3.2.1
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r b3cbbb467e22ea829b3808f4b7b01d07e0bf3842
Compiled by rohithsharmaks on 2019-09-10T15:56Z
Compiled with protoc 2.5.0
From source with checksum 776eaf9eee9c0ffc370bcbc1888737
This command was run using /D:/software/hadoop-3.2.1/share/hadoop/common/hadoop-common-3.2.1.jar

2、Failed to locate the winutils binary in the hadoop binary path

问题描述

    2019-10-24 13:05:57.518 [main] INFO  org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2046 ms
    2019-10-24 13:05:57.967 [main] ERROR org.apache.hadoop.util.Shell - Failed to locate the winutils binary in the hadoop binary path
    java.io.IOException: Could not locate executable D:\software\hadoop-3.2.1\bin\winutils.exe in the Hadoop binaries.
        at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:355)
        at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:370)
        at org.apache.hadoop.util.Shell.<clinit>(Shell.java:363)
        at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:78)
        at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:93)

解决方案

  • 下载:https://github.com/srccodes/hadoop-common-2.2.0-bin.git,并将该项目bin文件夹下的winutils.*文件copy到%HADOOP_HOME%\bin目录下

  • 博客链接 点击链接,访问我的博客主页


扫描关注:Andy风雨无阻

(转载本站文章请注明作者和出处 风雨无阻

Show Disqus Comments

Post Directory