Hbase2.0-源碼閱讀環境

最近準備開始研究Hbase源碼,因爲第一次研究源碼,所以做片筆記,踩坑踩的很耗時。

1.我用的IDE是IDEA,本地window需要配置JDK,MAVEN,HADOOP環境

2.上GitHub下載Hbase源碼(可以使用git或直接下載):https://github.com/apache/hbase ,並解壓到電腦

3.在解壓後的目錄中執行命令:

mvn clean package -DskipTests=true

4.解壓完成後:

編譯成功後仍然在當前目錄執行mvn idea:idea,這樣是爲了生成idea所需要的.project文件

5.兩次編譯全部成功後,使用IDEA引入項目,並且設置conf/hbase-site.xml:

<configuration>
#hbase.rootdir的value是用來存放HBase數據的目錄,你不需要事先創建hbase目錄, 只需要事先保證/Users/tu/Public目錄存在就行
    <property>
        <name>hbase.rootdir</name>
        <value>file:///Users/tu/Public/hbase</value>
    </property>
#取消版本驗證,Hbase有時候會編譯找不到版本導致報錯
    <property>
        <name>hbase.defaults.for.version.skip</name>
        <value>true</value>
    </property>
</configuration>

6.開啓應用:

#執行類
org.apache.hadoop.hbase.master.HMaster
#配置log4j輸出
-Dlog4j.configuration=file:/Users/tu/IdeaProjects/hbase-1.2.6/conf/log4j.properties
#工作空間就用解壓的目錄
#並且需要調用Hbase server類

7.運行應用:

你可能會得到的錯誤:

1.版本檢測報錯:

hbase-default.xml file seems to be for and old version of HBase

解答:

重新編譯一下就好了:mvn clean package -DskipTests=true

 

2.hadoop本地環境報錯:

org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(...

解答:

需要配置本地windows中HADOOP_HOME的系統環境變量,hbase啓動會去找本地環境變量。

 

3.缺少winutils.exe文件:

Could not locate Hadoop executable: D:\sorftware\hadoop\hadoop-2.8.0\bin\winutils.exe

解答:新下載的hadoop沒有winutils.exe文件,下載一個就ok了

https://github.com/selfgrowth/apache-hadoop-3.1.1-winutils/blob/master/bin/winutils.exe

 

4.可以忽視的錯誤

java.lang.NoSuchMethodException: org.apache.hadoop.fs.LocalFileSystem.setStoragePolicy(org.apache.hadoop.fs.Path, java.lang.String)

文件系統不支持setStoragePolicy,正常錯誤,不管它。

 

現在應該可以正常跑了,訪問:http://localhost:16010/master-status 查看是否成功。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章