本地运行hadoop-Failed to locate the winutils binary in the hadoop binary path

转自:http://www.cnblogs.com/zq-inlook/p/4386216.html

之前在mac上调试hadoop程序(mac之前配置过hadoop环境)一直都是正常的。因为工作需要,需要在windows上先调试该程序,然后再转到linux下。程序运行的过程中,报Failed to locate the winutils binary in the hadoop binary path  java.io.IOException: Could not locate executablenull\bin\winutils.exe in the Hadoop binaries.

  通过断点调试、查看源码发现程序需要根据HADOOP_HOME找到winutils.exe,由于win机器并没有配置该环境变量,所以程序报 null\bin\winutils.exe。

 

复制代码
privatestatic String checkHadoopHome() {// first check the Dflag hadoop.home.dir with JVM scopeString home = System.getProperty("hadoop.home.dir");// fall back to the system/user-global env variableif (home == null) {home = System.getenv("HADOOP_HOME");}try {// couldn't find either setting for hadoop's home directoryif (home == null) {thrownew IOException("HADOOP_HOME or hadoop.home.dir are not set.");}if (home.startsWith("\"") && home.endsWith("\"")) {home = home.substring(1, home.length()-1);}// check that the home setting is actually a directory that existsFile homedir = new File(home);if (!homedir.isAbsolute() || !homedir.exists() || !homedir.isDirectory()) {thrownew IOException("Hadoop home directory " + homedir+ " does not exist, is not a directory, or is not an absolute path.");}home = homedir.getCanonicalPath();} catch (IOException ioe) {if (LOG.isDebugEnabled()) {LOG.debug("Failed to detect a valid hadoop home directory", ioe);}home = null;}    return home;}

  private static String HADOOP_HOME_DIR = checkHadoopHome();

复制代码
复制代码
publicstaticfinal String getQualifiedBinPath(String executable) throws IOException {// construct hadoop bin path to the specified executableString fullExeName = HADOOP_HOME_DIR + File.separator + "bin" + File.separator + executable;File exeFile = new File(fullExeName);if (!exeFile.exists()) {thrownew IOException("Could not locate executable " + fullExeName+ " in the Hadoop binaries.");}return exeFile.getCanonicalPath();}/** a Windows utility to emulate Unix commands */publicstaticfinal String WINUTILS = getWinUtilsPath();publicstaticfinal String getWinUtilsPath() {String winUtilsPath = null;try {if (WINDOWS) {winUtilsPath = getQualifiedBinPath("winutils.exe");}} catch (IOException ioe) {LOG.error("Failed to locate the winutils binary in the hadoop binary path",ioe);}return winUtilsPath;}
复制代码

  找到原因后就去网上问了度娘,找到了解决方案,很简单,如下:

  1.下载winutils的windows版本

  GitHub上,有人提供了winutils的windows的版本,项目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下载此项目的zip包,下载后是文件名是hadoop-common-2.2.0-bin-master.zip,随便解压到一个目录

  2.配置环境变量

  增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加%HADOOP_HOME%\bin 即可。  

  再次运行程序,正常执行。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dubbo 支持服务降级吗_dubbo面试题!会这些,说明你真正看懂了dubbo源码

整理了一些dubbo可能会被面试的面试题,感觉非常不错。如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面。你可以尝试看能不能回答下。我们一起看下有哪些问题吧?dubbo中"读接口"和"写接口"有什么区别?谈谈…

不满足于汽车制造,丰田展示仿钢铁侠机器支撑腿架

而汽车制造商开发机器人也不是丰田一家的专利,此前现代也推出过类似的支撑机器人腿架 大多数人对于丰田的印象都停留在汽车制造上,不过他们却不仅仅满足于汽车事业的发展,最近,丰田正在研发一款机器人支撑腿架,来帮助…

js html异步加载的属性,异步加载JS的五种方式

方案一:点评:HTML5中新增的属性,Chrome、FF、IE9&IE9均支持(IE6~8不支持)。此外,这种方法不能保证脚本按顺序执行。方案二:点评:兼容所有浏览器。此外,这种方法可以确保所有设置defer属性的…

python中各操作符的优先级_Python3练习题系列(06)——各种符号总结

Python3中的各种符号总结 1关键字 import keyword print(keyword.kwlist, end\t) [False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, r…

hdfs java读写hdfs demo

windows环境配置: 1.下载winutils的windows版本 GitHub上,有人提供了winutils的windows的版本, 项目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下载此项目的zip包,下载后是文件名是hadoop-comm…

cesium 经纬度绘制点_NCL绘制2016年1号台风(Nepartak)

begin ncol 6 ;台风参数 nrow 31 ;时次总数 nbin 6 ;已知该该气旋共经历了6个等级的演变 ;读入台风资料 data asciiread("NEPARTAK.txt",(/nrow,ncol/),"integer") ;/31,6/ 31行6列,integer整数类型 ;;数据读取函数总结&…

VR究竟多奇幻?eSmart邀你共赴一场VR奇幻之旅!

今年夏天,快来参加首届eSmart展会,来一场VR游戏的奇妙之旅,见识最好玩、最有趣的VR游戏! 正如十几年前互联网的兴起开创了全新时代一样,VR产业在近两年也势不可挡。随着一重行业巨头的进入,2016年&#xf…

HTML5新的解析顺序,HTML5新表单新功能解析

HTML5新增了很多属性功能。但是有兼容性问题,因为这些表单功能新增的。我这里做了一个简单的练习,方便参考。如果完全兼容的话,那我们写表单的时候就省了很多代码以及各种判断。HTML5表单新功能解析#da{width:350px;height:600px;margin:0 au…

python子类继承父类属性实例_Python实现子类调用父类的初始化实例

前言 python中进行面向对象编程,当在子类的实例中调用父类的属性时,由于子类的__init__方法重写了父类的__init__方法,如果在子类中这些属性未经过初始化,使用时就会出错。 例如以下的代码: class A(object): def __init__(self):…

hadoop 回收站Trash

介绍: Hadoop回收站trash,默认是关闭的。 和Linux系统的回收站设计一样,HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期&…

opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk

autohotkey当然是不错的工具,但是这个东西的社群一直发展的不行。从开始学习python以后,我就不时会希望能找到别的工具替代ahk。Python的众多包里面确实是有对应的工具的:模拟鼠标和键盘的操作可以用pyautogui,而捕捉热键则可以使…

Hadoop SequenceFile

apache原文:http://hadoop.apache.org/docs/r1.0.4/api/org/apache/hadoop/io/SequenceFile.html 概念: SequenceFile是一个由二进制序列化过的key/value的字节流组成的文本存储文件,它可以在map/reduce过程中的input/output 的format时被使…

机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

Alink漫谈(十二) :在线学习算法FTRL 之 整体设计[Toc]0x00 摘要Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法、流式算法的机器学习平台。本文和下文将介绍在线学习算法FTRL在Alink中是如何实现的&a…

Linux Shell获取系统资源使用百分比(CentOS)

CPU使用率: top -b -n 1 | head -n 4 | grep "^Cpu(s)" | awk {print $2} | cut -d u -f 1 内存使用率: free -m | grep ^- | awk {print $3/($3$4)*100"%"} IO使用率(FS_PATH的值改成df -h出来的那些Filesystem名称即可…

html城市绘制,HTML5/Canvas二分法构建城市版图

JavaScript语言:JaveScriptBabelCoffeeScript确定var ctx fullscreenCanvas().ctx;var canvas ctx.canvas;function Rect(pos, width, height) {this.pos pos;this.width width;this.height height;}Rect.prototype.update Function.prototype;Rect.prototype…

探测器反向偏压_近红外和可见光双模有机光电探测器

更多精彩,点击上方蓝字关注我们!中英标题近红外和可见光双模有机光电探测器Near-infrared and Visible Light Dual-mode Organic Photodetectors图文导读研究报告了一种具有三层可见光吸收体/光学间隔层/近红外(NIR)光吸收体结构的双模有机光电探测器(OP…

html里post请求404,请求登陆页面post请求404错误,OPTIONS请求通过

点击登录的时候option请求是通过的,但post请求失败。服务端代码app.js:const express require(‘express’)const bodyParser require(‘body-parser’)const cors require(‘cors’)const router require(’./router/index’)// 创建 express 应用c…

python贪吃蛇毕业设计_【干货|python项目实例——贪吃蛇】- 环球网校

【摘要】当今世界充满了各种数据,而python是其中一种的重要组成部分。然而,若想其有所应用,我们需要对这些python理论进行实践。其中包含很多有趣的的过程,然后将其用于某些方面。其中一种应用就是python项目实例。今天环球网校的…

PWA即将推向所有Chrome平台

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\大多数人应该都听说了微软已经着手在Windows商店中增加PWA,这是一个重磅消息!\\\\渐进增强式Web应用…

c++代码转为go_Go语言学习笔记六--string编码

分解探索string编码转为byte数组func main() {s : "Hi小智加油!"fmt.Println("len(s):",len(s)) //len(s): 15 为什么是15呢?for _, v : range []byte(s) {fmt.Printf("%X ",v) //%X 转为16进制//48 69 E5 B0 8F E6 99 BA E5 8A A0 E6 B2 B9 21…