在Windows環境下編譯除錯Hbase原始碼
一、 hbase架構簡介
HBase 是一個開源的、分散式的、資料多版本的,列式儲存的nosql資料庫。依託 Hadoop 的分散式檔案系統 HDFS 作為底層儲存, 能夠為數十億行數百萬列的海量資料表提供隨機、實時的讀寫訪問。 HBase 叢集服務包含:HBase 資料庫服務、HDFS 分散式檔案系統、Phoenix 查詢引擎。壓縮格式方面支援 GZIP、BZIP2、LZO、SNAPPY,可自行在應用中指定。 關於 HBase 更多的詳細資訊,可參閱 HBase 官方文件,關於 Phoenix 查詢引擎的詳細資訊,可參閱 Phoenix 官方網站 。
與 Hadoop 一樣,HBase 叢集採用的是 master/slave 架構。 如下圖所示,HBase 叢集分三種節點型別:主節點 (HBase Master 和 HDFS NameNode),從節點 (HBase RegionServer 和 HDFS DataNode) 和客戶端節點 (HBase Client)。 使用者在HBase 客戶端可通過HBase Shell、Java API(本地或MapReduce)、Rest API 或其他工具來訪問HBase。 若需要使用除java外的其他語言時,可在客戶端節點 (HBase Client)自行啟動 Thrift Server 以供支援。
二、 hbase原始碼編譯
1. 下載原始碼
2. 安裝cgywin
3. 編譯Hbase原始碼
開啟cygwin
切換到hbase原始碼目錄
編譯:
mvn package -DskipTests
編譯成功提示:
二、 hbase本地除錯
1匯入hbase原始碼到idea中
2修改conf/hbase-site.xml
3執行HMaster
4在瀏覽器 中輸入localhost:60010 (hbase 0.98.9中Hmaster UI的埠是60010,新版本中使用的是16010)
5執行Hbase shell
執行結果