博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop报错:Failed to locate the winutils binary in the hadoop binary path
阅读量:6252 次
发布时间:2019-06-22

本文共 1634 字,大约阅读时间需要 5 分钟。

1 发现问题

在虚拟机中搭建了hadoop集群,在windows中通过代码访问报错

15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.    at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:356)    at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:371)    at org.apache.hadoop.util.Shell.
(Shell.java:364)
2 分析问题
打开源码,查看getQualifiedBinPath方法

public static final String getQualifiedBinPath(String executable)   throws IOException {    // construct hadoop bin path to the specified executable    String fullExeName = HADOOP_HOME_DIR + File.separator + "bin"      + File.separator + executable;     File exeFile = new File(fullExeName);    if (!exeFile.exists()) {      throw new IOException("Could not locate executable " + fullExeName        + " in the Hadoop binaries.");    }     return exeFile.getCanonicalPath();  } private static String HADOOP_HOME_DIR = checkHadoopHome();private static String checkHadoopHome() {     // first check the Dflag hadoop.home.dir with JVM scope    String home = System.getProperty("hadoop.home.dir");     // fall back to the system/user-global env variable    if (home == null) {      home = System.getenv("HADOOP_HOME");    }     ...}
exeFile不存在会报错,也就是fullExeName不存在。即windows中没有配置HADOOP_HOME。
3 解决问题
配置环境变量E:\\Program Files\\hadoop-2.7.0重启电脑。
或者代码中设置System.setProperty("hadoop.home.dir", "E:\\Program Files\\hadoop-2.7.0");
还有一种可能HADOOP_HOME的bin目录下根本没有winutils.exe,下载地址https://github.com/srccodes/hadoop-common-2.2.0-bin

原贴地址:http://www.cnblogs.com/hyl8218/p/5492450.html

你可能感兴趣的文章
20141029
查看>>
Windows Server 2012如果打开网页慢下载快的话
查看>>
【反传销】春节一个短暂误入传销和脱身的真实故事以及对技术的思考(二)回家之路...
查看>>
166. Fraction to Recurring Decimal
查看>>
(转)Java线程:新特征-条件变量
查看>>
建立ORACLE10G DATA GUARD--->Physical Standby
查看>>
Python pyenv
查看>>
使用LotusScript操作Lotus Notes RTF域
查看>>
IPv4头部结构具体解释
查看>>
帕雷托最优(Pareto optimality)、帕雷托效率(Pareto efficiency)
查看>>
PHP 面向对象
查看>>
getResourceAsStream和getResource的用法及Demo实例
查看>>
[C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
查看>>
javascript 自定义错误处理
查看>>
POJ 3278 Catch That Cow(BFS,板子题)
查看>>
Ubuntu下U盘只读文件系统,图标上锁,提示无法修改
查看>>
TCP/IP具体解释学习笔记--TCP的超时与重传
查看>>
C#设计模式之十一享元模式(Flyweight Pattern)【结构型】
查看>>
基于zookeeper简单实现分布式锁
查看>>
Makefile:160: recipe for target 'all' failed (Ubuntu 16.06 + Opencv3.2)解决办法
查看>>