Hbase

Hbase 概述


Hbase 是構(gòu)件在HDFS上的分布式列存儲系統(tǒng)

Hbase 是基于谷歌Big table 模型開發(fā)的蹲盘,典型的key/value

Hbase 主要用于海量結(jié)構(gòu)化數(shù)據(jù)存儲

從邏輯上講,Hbase 將數(shù)據(jù)按照表嘹狞,行和列進(jìn)行存儲

Hbase 表的特點(diǎn)


1.大: 一個表有數(shù)十億行蚪缀,上百萬列

2.面向列存儲: 面向列的存儲和權(quán)限控制疹启,列族獨(dú)立檢索

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

4.數(shù)據(jù)多版本:每個單元中的數(shù)據(jù)可以有多個版本煎殷,默認(rèn)情況下是自動分配屯伞,是單元格插入時的時間戳

5.數(shù)據(jù)類型單一:都是字符串,沒有其他類型


Hbase 數(shù)據(jù)模型


Hbase 基本概念

1.RowKey 是Byte array ,是表中每條記錄的主鍵豪直,方便快速查找愕掏,Rowkey 的設(shè)計非常重要

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

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

4.Version Number 類型為Long ,默認(rèn)是系統(tǒng)時間戳顶伞,可以由用戶自定義

5.Value :Byte arry

Hbase 物理模型

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

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

3.Hbase 為每個值維護(hù)多級索引

物理存儲:

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

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

??????????????? 3. Region 按大小分割的唆貌,每個表開始只有一個Region 隨著數(shù)據(jù)增多滑潘,region 不斷增大,當(dāng)增大到一個閥值的時候锨咙。Region 就會等分成2個Region 之后會有越來越多的Region

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


5、Region雖然是分布式存儲的最小單元酪刀,但并不是存儲的最小單元粹舵。Region由一個或者多個Store組成,每個store保存一個columns family骂倘;每個Strore又由一個memStore和0至多個StoreFile組成眼滤,StoreFile包含HFile;memStore存儲在內(nèi)存中历涝,StoreFile存儲在HDFS上

诅需。

Hbase基本組件說明:


Client

包含訪問HBase的接口漾唉,并維護(hù)cache來加快對HBase的訪問,比如region的位置信息

Master

為Region server分配region

負(fù)責(zé)Region server的負(fù)載均衡

發(fā)現(xiàn)失效的Region server并重新分配其上的region

管理用戶對table的增刪改查操作

Region Server

Regionserver維護(hù)region堰塌,處理對這些region的IO請求

Regionserver負(fù)責(zé)切分在運(yùn)行過程中變得過大的region

Zookeeper作用

通過選舉赵刑,保證任何時候,集群中只有一個master场刑,Master與RegionServers 啟動時會向ZooKeeper注冊

存貯所有Region的尋址入口

實時監(jiān)控Region server的上線和下線信息般此。并實時通知給Master

存儲HBase的schema和table元數(shù)據(jù)

默認(rèn)情況下,HBase 管理ZooKeeper 實例牵现,比如恤煞, 啟動或者停止ZooKeeper

Zookeeper的引入使得Master不再是單點(diǎn)故障




該機(jī)制用于數(shù)據(jù)的容錯和恢復(fù):

每個HRegionServer中都有一個HLog對象HLog是一個實現(xiàn)Write AheadLog的類施籍,在每次用戶操作寫入MemStore的同時居扒,也會寫一份數(shù)據(jù)到HLog文件中(HLog文件格式見后續(xù)),HLog文件定期會滾動出新的丑慎,并刪除舊的文件(已持久化到StoreFile中的數(shù)據(jù))喜喂。當(dāng)HRegionServer意外終止后,HMaster會通過Zookeeper感知到竿裂,HMaster首先會處理遺留的HLog文件玉吁,將其中不同Region的Log數(shù)據(jù)進(jìn)行拆分,分別放到相應(yīng)region的目錄下腻异,然后再將失效的region重新分配进副,領(lǐng)取到這些region的HRegionServer在Load Region的過程中,會發(fā)現(xiàn)有歷史HLog需要處理悔常,因此ReplayHLog中的數(shù)據(jù)到MemStore中影斑,然后flush到StoreFiles,完成數(shù)據(jù)恢復(fù)

HBase容錯性

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

無Master過程中机打,數(shù)據(jù)讀取仍照常進(jìn)行矫户;

無master過程中,region切分残邀、負(fù)載均衡等無法進(jìn)行皆辽;

RegionServer容錯:定時向Zookeeper匯報心跳,如果一旦時間內(nèi)未出現(xiàn)心跳芥挣,Master將該RegionServer上的Region重新分配到其他RegionServer上驱闷,失效服務(wù)器上“預(yù)寫”日志由主服務(wù)器進(jìn)行分割并派送給新的RegionServer

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

Region定位流程:



尋找RegionServer

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

-ROOT-

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

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

.META.

表包含所有的用戶空間region列表鼓蜒,以及RegionServer的服務(wù)器地址痹换。

Hbase使用場景

大數(shù)據(jù)量存儲,大數(shù)據(jù)量高并發(fā)操作

需要對數(shù)據(jù)隨機(jī)讀寫操作

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

Hbase與HDFS對比

兩者都具有良好的容錯性和擴(kuò)展性都弹,都可以擴(kuò)展到成百上千個節(jié)點(diǎn)娇豫;

HDFS適合批處理場景

不支持?jǐn)?shù)據(jù)隨機(jī)查找

不適合增量數(shù)據(jù)處理

不支持?jǐn)?shù)據(jù)更新

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市畅厢,隨后出現(xiàn)的幾起案子冯痢,更是在濱河造成了極大的恐慌,老刑警劉巖框杜,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浦楣,死亡現(xiàn)場離奇詭異,居然都是意外死亡咪辱,警方通過查閱死者的電腦和手機(jī)振劳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來油狂,“玉大人历恐,你說我怎么就攤上這事∽辏” “怎么了弱贼?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長磷蛹。 經(jīng)常有香客問我吮旅,道長,這世上最難降的妖魔是什么味咳? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任庇勃,我火速辦了婚禮,結(jié)果婚禮上槽驶,老公的妹妹穿的比我還像新娘匪凉。我一直安慰自己,他們只是感情好捺檬,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布再层。 她就那樣靜靜地躺著,像睡著了一般堡纬。 火紅的嫁衣襯著肌膚如雪聂受。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天烤镐,我揣著相機(jī)與錄音蛋济,去河邊找鬼。 笑死炮叶,一個胖子當(dāng)著我的面吹牛碗旅,可吹牛的內(nèi)容都是我干的渡处。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼祟辟,長吁一口氣:“原來是場噩夢啊……” “哼医瘫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起旧困,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤醇份,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后吼具,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體僚纷,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年拗盒,在試婚紗的時候發(fā)現(xiàn)自己被綠了怖竭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡陡蝇,死狀恐怖侵状,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情毅整,我是刑警寧澤趣兄,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站悼嫉,受9級特大地震影響艇潭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜戏蔑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一蹋凝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧总棵,春花似錦鳍寂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至骤视,卻和暖如春鞍爱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背专酗。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工睹逃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祷肯。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓沉填,卻偏偏與公主長得像疗隶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子翼闹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 最近在逐步跟進(jìn)Hbase的相關(guān)工作斑鼻,由于之前對Hbase并不怎么了解,因此系統(tǒng)地學(xué)習(xí)了下Hbase橄碾,為了加深對Hb...
    飛鴻無痕閱讀 50,182評論 19 271
  • 該文檔是用Hbase默認(rèn)配置文件生成的卵沉,文件源是Hbase-default.xml hbase.rootdir 這...
    我是嘻哈大哥閱讀 4,743評論 0 7
  • 1. HBase介紹颠锉,Hbase是什么法牲? HBase -- Hadoop Database ,是一個高可靠琼掠、高性能...
    奉先閱讀 3,728評論 1 36
  • HBase那些事 @(大數(shù)據(jù)工程學(xué)院)[HBase, Hadoop, 優(yōu)化, HadoopChen, hbase]...
    分癡閱讀 3,930評論 3 17
  • 簡介 [HBase]——Hadoop Database的簡稱拒垃,Google BigTable的另一種開源實現(xiàn)方式,...
    高廣超閱讀 2,337評論 1 27