從零自學Hadoop(19):HBase介紹及安裝

sinodzh發表於2016-09-20

閱讀目錄

本文版權歸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 

  

 

  

--------------------------------------------------------------------

  到此,本章節的內容講述完畢。

系列索引

  【源】從零自學Hadoop系列索引

 

 

 

 

本文版權歸mephisto和部落格園共有,歡迎轉載,但須保留此段宣告,並給出原文連結,謝謝合作。

文章是哥(mephisto)寫的,SourceLink

 

相關文章