上一篇,我們講述了Hive的CLI和JDBC,從編程和使用的角度進入了Hadoop生態。這裡就介紹下Hadoop DataBase,簡稱HBase。 下麵我們開始介紹HBase的介紹及安裝。 ...
閱讀目錄
本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文鏈接,謝謝合作。
文章是哥(mephisto)寫的,SourceLink
序
上一篇,我們講述了Hive的CLI和JDBC,從編程和使用的角度進入了Hadoop生態。這裡就介紹下Hadoop DataBase,簡稱HBase。
下麵我們開始介紹HBase的介紹及安裝。
介紹
一:定義
HBase是一個分散式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數據的分散式存儲系統”。就像Bigtable利用了Google文件系統(File System)所提供的分散式數據存儲一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。HBase是Apache的Hadoop項目的子項目。HBase不同於一般的關係資料庫,它是一個適合於非結構化數據存儲的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
三:架構
Client
包含訪問HBase的介面,並維護cache來加快對HBase的訪問,比如region的位置信息。
Master
為Region server分配region
負責Region server的負載均衡
發現失效的Region server並重新分配其上的region
管理用戶對table的增刪改查操作
Region Server
Regionserver維護region,處理對這些region的IO請求
Regionserver負責切分在運行過程中變得過大的region
Zookeeper作用
通過選舉,保證任何時候,集群中只有一個master,Master與RegionServers 啟動時會向ZooKeeper註冊
存貯所有Region的定址入口
實時監控Region server的上線和下線信息。並實時通知給Master
存儲HBase的schema和table元數據
預設情況下,HBase 管理ZooKeeper 實例,比如, 啟動或者停止ZooKeeper
Zookeeper的引入使得Master不再是單點故障Write-Ahead-Log(WAL)
每個HRegionServer中都有一個HLog對象,HLog是一個實現Write Ahead Log的類,在每次用戶操作寫入MemStore的同時,也會寫一份數據到HLog文件中(HLog文件格式見後續),HLog文件定期會滾動出新的,並刪除舊的文件(已持久化到StoreFile中的數據)。當HRegionServer意外終止後,HMaster會通過Zookeeper感知到,HMaster首先會處理遺留的 HLog文件,將其中不同Region的Log數據進行拆分,分別放到相應region的目錄下,然後再將失效的region重新分配,領取 到這些region的HRegionServer在Load Region的過程中,會發現有歷史HLog需要處理,因此會Replay HLog中的數據到MemStore中,然後flush到StoreFiles,完成數據恢復。
HBase容錯性
Master容錯:
Zookeeper重新選擇一個新的Master
無Master過程中,數據讀取仍照常進行;
無master過程中,region切分、負載均衡等無法進行;
RegionServer容錯:定時向Zookeeper彙報心跳,如果一旦時間內未出現心跳,Master將該RegionServer上的Region重新分配到其他RegionServer上,失效伺服器上“預寫”日誌由主伺服器進行分割並派送給新的RegionServer
Zookeeper容錯:
Zookeeper是一個可靠地服務,一般配置3或5個Zookeeper實例
Region定位流程:
安裝
一:已安裝服務
二:新增服務
三:勾選HBase
四:分佈HBase相關組件
五:分配從節點和客戶端
六:HBase配置
設置HBase的配置。
七:預覽
安裝前預覽。
八:安裝,測試,啟動
開始安裝了,我們耐心的等待。
八:完成
九:效果
我們可以看到ambari的監控界面可以看到已經裝好的HBase
十:shell命令登陸
hbase shell
十一:HBase UI
--------------------------------------------------------------------
到此,本章節的內容講述完畢。
系列索引
本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文鏈接,謝謝合作。
文章是哥(mephisto)寫的,SourceLink