HBase詳細, 分佈式部署

1. HBase的由來:

HBase 的原型是 Google 的 BigTable 論文,受到了該論文思想的啓發,目前做爲 Hadoop 的 子項目來開發維護,用於支持結構化的數據存儲。html

  • 官方網站:hbase.apache.org程序員

  • 2006 年 Google 發表 BigTable 白皮書apache

  • 2006 年開始開發 HBase緩存

  • 2008 年北京成功開奧運會,程序員默默地將 HBase 弄成了 Hadoop 的子項目負載均衡

  • 2010 年 HBase 成爲 Apache 頂級項目oop

1.1 HBase的角色

  1. HMaster網站

    1. 監控RegionServer
    2. 處理RegionServer故障轉移
    3. 處理元數據變動
    4. 處理region的分配和移除
    5. 進行負載均衡
    6. 經過zookeeper發佈本身的位置給客戶端
  2. RegionServer日誌

    1. 負責存儲HBase的數據
    2. 處理分配給本身的region
    3. 刷新緩存到HDFS
    4. 維護Hlog(恢復數據)
    5. 執行壓縮
    6. 處理region分片
  3. 組件htm

    1. Write-Ahead logs

    HBase 的修改記錄,當對 HBase 讀寫數據的時候,數據不是直接寫進磁盤,它會在內存中 保留一段時間(時間以及數據量閾值能夠設定)。但把數據保存在內存中可能有更高的機率 引發數據丟失,爲了解決這個問題,數據會先寫在一個叫作 Write-Ahead logfile 的文件中, 而後再寫入內存中。因此在系統出現故障的時候,數據能夠經過這個日誌文件重建。內存

    1. HFile

    這是在磁盤上保存原始數據的實際的物理文件,是實際的存儲文件。

    1. Store

    HFile 存儲在 Store 中,一個 Store 對應 HBase 表中的一個列族。

    1. MemStore

    顧名思義,就是內存存儲,位於內存中,用來保存當前的數據操做,因此當數據保存在 WAL 中以後,RegsionServer 會在內存中存儲鍵值對。

    1. Region

    Hbase 表的分片,HBase 表會根據 RowKey 值被切分紅不一樣的 region 存儲在 RegionServer 中, 在一個 RegionServer 中能夠有多個不一樣的 region。

HBase原理圖:

很差意思各位, 若是你們想看的話, 請登陸apache官方,

abloz.com/hbase/book.…

當前地址下, 查看中文文檔, 超全~

相關文章
相關標籤/搜索