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

閱讀目錄

本文版權歸mephisto和博客園共有,歡迎轉載,但須保留此段聲明,並給出原文連接,謝謝合做。html

文章是哥(mephisto)寫的,SourceLinkshell

 

     上一篇,咱們講述了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上搭建起大規模結構化存儲集羣。bash

二:架構

 

Client服務器

  包含訪問HBase的接口,並維護cache來加快對HBase的訪問,好比region的位置信息。架構

Master負載均衡

  爲Region server分配region分佈式

  負責Region server的負載均衡oop

  發現失效的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

相關文章
相關標籤/搜索