Hbase

Hbase 概述


Hbase 是構件在HDFS上的分布式列存儲系統

Hbase 是基于谷歌Big table 模型開發的,典型的key/value

Hbase 主要用于海量結構化數據存儲

從邏輯上講,Hbase 將數據按照表,行和列進行存儲

Hbase 表的特點


1.大: 一個表有數十億行,上百萬列

2.面向列存儲: 面向列的存儲和權限控制,列族獨立檢索

3.稀疏: 空列不會占用存儲空間,表可以設計的非常稀疏

4.數據多版本:每個單元中的數據可以有多個版本,默認情況下是自動分配,是單元格插入時的時間戳

5.數據類型單一:都是字符串,沒有其他類型


Hbase 數據模型


Hbase 基本概念

1.RowKey 是Byte array ,是表中每條記錄的主鍵,方便快速查找,Rowkey 的設計非常重要

2.Column Famliy 列族,擁有一個名稱(string),包含一個或者多個相關列

3.Column 屬于某一個columnfamliy famliyNode:columnName ,每條記錄可以動態添加

4.Version Number 類型為Long ,默認是系統時間戳,可以由用戶自定義

5.Value :Byte arry

Hbase 物理模型

1.每個column famliy 存儲在HDFS上的一個單獨文件中,空值不會被保存

2.key 和Version number 在每一個column famliy 中均有一份、

3.Hbase 為每個值維護多級索引

物理存儲:

??????????????? 1.Table 中所有行按照row key 的字典排序

??????????????? 2.Table 在行的分割方向上分割為多個Region

??????????????? 3. Region 按大小分割的,每個表開始只有一個Region 隨著數據增多,region 不斷增大,當增大到一個閥值的時候。Region 就會等分成2個Region 之后會有越來越多的Region

???????????????? 4. Region是Hbase 中分布式存儲和負載均衡的最小單元,不同的Region 分布在不同的RegionServer


5、Region雖然是分布式存儲的最小單元,但并不是存儲的最小單元。Region由一個或者多個Store組成,每個store保存一個columns family;每個Strore又由一個memStore和0至多個StoreFile組成,StoreFile包含HFile;memStore存儲在內存中,StoreFile存儲在HDFS上

。

Hbase基本組件說明:


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不再是單點故障




該機制用于數據的容錯和恢復:

每個HRegionServer中都有一個HLog對象,HLog是一個實現Write AheadLog的類,在每次用戶操作寫入MemStore的同時,也會寫一份數據到HLog文件中(HLog文件格式見后續),HLog文件定期會滾動出新的,并刪除舊的文件(已持久化到StoreFile中的數據)。當HRegionServer意外終止后,HMaster會通過Zookeeper感知到,HMaster首先會處理遺留的HLog文件,將其中不同Region的Log數據進行拆分,分別放到相應region的目錄下,然后再將失效的region重新分配,領取到這些region的HRegionServer在Load Region的過程中,會發現有歷史HLog需要處理,因此ReplayHLog中的數據到MemStore中,然后flush到StoreFiles,完成數據恢復

HBase容錯性

Master容錯:Zookeeper重新選擇一個新的Master

無Master過程中,數據讀取仍照常進行;

無master過程中,region切分、負載均衡等無法進行;

RegionServer容錯:定時向Zookeeper匯報心跳,如果一旦時間內未出現心跳,Master將該RegionServer上的Region重新分配到其他RegionServer上,失效服務器上“預寫”日志由主服務器進行分割并派送給新的RegionServer

Zookeeper容錯:Zookeeper是一個可靠地服務,一般配置3或5個Zookeeper實例

Region定位流程:



尋找RegionServer

ZooKeeper-->-ROOT-(單Region)-->.META.-->用戶表

-ROOT-

表包含.META.表所在的region列表,該表只會有一個Region;

Zookeeper中記錄了-ROOT-表的location。

.META.

表包含所有的用戶空間region列表,以及RegionServer的服務器地址。

Hbase使用場景

大數據量存儲,大數據量高并發操作

需要對數據隨機讀寫操作

讀寫訪問均是非常簡單的操作

Hbase與HDFS對比

兩者都具有良好的容錯性和擴展性,都可以擴展到成百上千個節點;

HDFS適合批處理場景

不支持數據隨機查找

不適合增量數據處理

不支持數據更新

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,885評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,312評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,993評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,667評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,410評論 6 411
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,778評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,775評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,955評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,521評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,266評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,468評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,998評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,696評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,095評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,385評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,193評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,431評論 2 378

推薦閱讀更多精彩內容

  • 最近在逐步跟進Hbase的相關工作,由于之前對Hbase并不怎么了解,因此系統地學習了下Hbase,為了加深對Hb...
    飛鴻無痕閱讀 50,291評論 19 272
  • 該文檔是用Hbase默認配置文件生成的,文件源是Hbase-default.xml hbase.rootdir 這...
    我是嘻哈大哥閱讀 4,800評論 0 7
  • 1. HBase介紹,Hbase是什么? HBase -- Hadoop Database ,是一個高可靠、高性能...
    奉先閱讀 3,772評論 1 36
  • HBase那些事 @(大數據工程學院)[HBase, Hadoop, 優化, HadoopChen, hbase]...
    分癡閱讀 3,970評論 3 17
  • 簡介 [HBase]——Hadoop Database的簡稱,Google BigTable的另一種開源實現方式,...
    高廣超閱讀 2,369評論 1 27