配置好hbase依賴,填寫完集羣,正要開開心心地scan一下表實驗下: java
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. linux
一個更開心的exception就這麼毫無防備地拋出了:找不到hadoop的二進制文件winutils.exe。 windows
百度了很久,有讓配置系統環境變量的,有安裝hadoop的什麼的。。。查了一圈找到了緣由。 oop
1.讀取hbase數據你首先須要一個client,jar包裏不集成windows環境client的。 spa
2.你須要一個能夠運行的client——windows環境下就是exe(hbase默認是安裝在linux下的)。 hadoop
3.hbase是徹底依賴hadoop的,hadoop爲了知足windows用戶提供了啓動環境,在hadoopX.X/bin/下邊的winutils.exe。 get
4.悲傷的是,從hadoop2.2開始,此文件莫名其妙地不打包了!任性! io
5.此路徑的引用是用HADOOP_HOME變量或者是hadoop.home.dir配置均可以讀取的 table
6.不須要完整安裝hadoop2.2,只須要winutils.exe,並指定位置就好 集羣
7.System.setProperty("hadoop.home.dir", "X:/yyy");java設置系統變量,並在X:/yyy/bin/下放好winutils.exe就能夠了,徹底不須要安裝,配置環境變量什麼的 - -