本地運行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.pswp.cn/news/539323.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539323.shtml
英文地址,請注明出處:http://en.pswp.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…