1、HBase簡介

什么是HBase

HBase的原型是Google的BigTable論文津坑,受到了該論文思想的啟發(fā),目前作為Hadoop的子項目來開發(fā)維護傲霸,用于支持結(jié)構(gòu)化的數(shù)據(jù)存儲
HBase是一個高可靠性疆瑰、高性能、面向列昙啄、可伸縮的分布式存儲系統(tǒng)穆役,利用HBASE技術(shù)可在廉價PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲集群
HBase的目標是存儲并處理大型的數(shù)據(jù),更具體來說是僅需使用普通的硬件配置梳凛,就能夠處理由成千上萬的行和列所組成的大型數(shù)據(jù)
HBase是Google Bigtable的開源實現(xiàn)耿币,但是也有很多不同之處。比如:Google Bigtable利用GFS作為其文件存儲系統(tǒng)韧拒,HBase利用Hadoop HDFS作為其文件存儲系統(tǒng)淹接;Google運行MAPREDUCE來處理Bigtable中的海量數(shù)據(jù),HBase同樣利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù)叛溢;Google Bigtable利用Chubby作為協(xié)同服務塑悼,HBase利用Zookeeper作為對應。

Hbase特點

  1. 海量存儲
    Hbase適合存儲PB級別的海量數(shù)據(jù)雇初,在PB級別的數(shù)據(jù)以及采用廉價PC存儲的情況下拢肆,能在幾十到百毫秒內(nèi)返回數(shù)據(jù)。這與Hbase的極易擴展性息息相關。正式因為Hbase良好的擴展性郭怪,才為海量數(shù)據(jù)的存儲提供了便利
  2. 列式存儲
    這里的列式存儲其實說的是列族存儲支示,Hbase是根據(jù)列族來存儲數(shù)據(jù)的。列族下面可以有非常多的列鄙才,列族在創(chuàng)建表的時候就必須指定颂鸿。
  3. 極易擴展
    Hbase的擴展性主要體現(xiàn)在兩個方面,一個是基于上層處理能力(RegionServer)的擴展攒庵,一個是基于存儲的擴展(HDFS)嘴纺。
    通過橫向添加RegionSever的機器,進行水平擴展浓冒,提升Hbase上層的處理能力栽渴,提升Hbsae服務更多Region的能力。
    備注:RegionServer的作用是管理region稳懒、承接業(yè)務的訪問闲擦,這個后面會詳細的介紹通過橫向添加Datanode的機器,進行存儲層擴容场梆,提升Hbase的數(shù)據(jù)存儲能力和提升后端存儲的讀寫能力墅冷。
  4. 高并發(fā)
    由于目前大部分使用Hbase的架構(gòu),都是采用的廉價PC或油,因此單個IO的延遲其實并不小寞忿,一般在幾十到上百ms之間。這里說的高并發(fā)顶岸,主要是在并發(fā)的情況下腔彰,Hbase的單個IO延遲下降并不多。能獲得高并發(fā)蜕琴、低延遲的服務萍桌。
  5. 稀疏
    稀疏主要是針對Hbase列的靈活性,在列族中凌简,你可以指定任意多的列上炎,在列數(shù)據(jù)為空的情況下,是不會占用存儲空間的

HBase架構(gòu)

HBase結(jié)構(gòu).png

從圖中可以看出Hbase是由Client雏搂、Zookeeper藕施、Master、HRegionServer凸郑、HDFS等幾個組件組成裳食,下面來介紹一下幾個組件的相關功能

  1. Client
    Client包含了訪問Hbase的接口,另外Client還維護了對應的cache來加速Hbase的訪問芙沥,比如cache的.META.元數(shù)據(jù)的信息诲祸。
  2. Zookeeper
    HBase通過Zookeeper來做master的高可用浊吏、RegionServer的監(jiān)控、元數(shù)據(jù)的入口以及集群配置的維護等工作救氯。具體工作如下
    通過Zoopkeeper來保證集群中只有1個master在運行找田,如果master異常,會通過競爭機制產(chǎn)生新的master提供服務
    通過Zoopkeeper來監(jiān)控RegionServer的狀態(tài)着憨,當RegionSevrer有異常的時候墩衙,通過回調(diào)的形式通知Master RegionServer上下線的信息
    通過Zoopkeeper存儲元數(shù)據(jù)的統(tǒng)一入口地址
  3. Hmaster
    master節(jié)點的主要職責如下
    為RegionServer分配Region
    維護整個集群的負載均衡
    維護集群的元數(shù)據(jù)信息
    發(fā)現(xiàn)失效的Region,并將失效的Region分配到正常的RegionServer上
    當RegionSever失效的時候甲抖,協(xié)調(diào)對應Hlog的拆分
  4. HregionServer
    HregionServer直接對接用戶的讀寫請求漆改,是真正的“干活”的節(jié)點。它的功能概括如下
    管理master為其分配的Region
    處理來自客戶端的讀寫請求
    負責和底層HDFS的交互准谚,存儲數(shù)據(jù)到HDFS
    負責Region變大以后的拆分
    負責Storefile的合并工作
  5. HDFS
    HDFS為Hbase提供最終的底層數(shù)據(jù)存儲服務挫剑,同時為HBase提供高可用(Hlog存儲在HDFS)的支持,具體功能概括如下
    提供元數(shù)據(jù)和表數(shù)據(jù)的底層分布式存儲服務
    數(shù)據(jù)多副本氛魁,保證的高可靠和高可用性

HBase中的角色

HMaster

功能
1.監(jiān)控RegionServer
2.處理RegionServer故障轉(zhuǎn)移
3.處理元數(shù)據(jù)的變更
4.處理region的分配或轉(zhuǎn)移
5.在空閑時間進行數(shù)據(jù)的負載均衡
6.通過Zookeeper發(fā)布自己的位置給客戶端

RegionServer

功能
1.負責存儲HBase的實際數(shù)據(jù)
2.處理分配給它的Region
3.刷新緩存到HDFS
4.維護Hlog
5.執(zhí)行壓縮
6.負責處理Region分片

其他組件

Write-Ahead logs

HBase的修改記錄暮顺,當對HBase讀寫數(shù)據(jù)的時候,數(shù)據(jù)不是直接寫進磁盤秀存,它會在內(nèi)存中保留一段時間(時間以及數(shù)據(jù)量閾值可以設定)。但把數(shù)據(jù)保存在內(nèi)存中可能有更高的概率引起數(shù)據(jù)丟失羽氮,為了解決這個問題或链,數(shù)據(jù)會先寫在一個叫做Write-Ahead logfile的文件中,然后再寫入內(nèi)存中档押。所以在系統(tǒng)出現(xiàn)故障的時候澳盐,數(shù)據(jù)可以通過這個日志文件重建。

Region

Hbase表的分片令宿,HBase表會根據(jù)RowKey值被切分成不同的region存儲在RegionServer中叼耙,在一個RegionServer中可以有多個不同的region。

Store

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

MemStore

顧名思義,就是內(nèi)存存儲癞松,位于內(nèi)存中爽撒,用來保存當前的數(shù)據(jù)操作,所以當數(shù)據(jù)保存在WAL中之后响蓉,RegsionServer會在內(nèi)存中存儲鍵值對硕勿。

HFile

這是在磁盤上保存原始數(shù)據(jù)的實際的物理文件,是實際的存儲文件枫甲。StoreFile是以Hfile的形式存儲在HDFS的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末源武,一起剝皮案震驚了整個濱河市扼褪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粱栖,老刑警劉巖话浇,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異查排,居然都是意外死亡凳枝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門跋核,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岖瑰,“玉大人,你說我怎么就攤上這事砂代√6” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵刻伊,是天一觀的道長露戒。 經(jīng)常有香客問我,道長捶箱,這世上最難降的妖魔是什么智什? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮丁屎,結(jié)果婚禮上荠锭,老公的妹妹穿的比我還像新娘。我一直安慰自己晨川,他們只是感情好证九,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著共虑,像睡著了一般愧怜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妈拌,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天拥坛,我揣著相機與錄音,去河邊找鬼供炎。 笑死渴逻,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的音诫。 我是一名探鬼主播惨奕,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼竭钝!你這毒婦竟也來了梨撞?” 一聲冷哼從身側(cè)響起雹洗,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎卧波,沒想到半個月后时肿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡港粱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年螃成,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片查坪。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡寸宏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偿曙,到底是詐尸還是另有隱情氮凝,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布望忆,位于F島的核電站罩阵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏启摄。R本人自食惡果不足惜稿壁,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望歉备。 院中可真熱鬧常摧,春花似錦、人聲如沸威创。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肚豺。三九已至,卻和暖如春界拦,著一層夾襖步出監(jiān)牢的瞬間吸申,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工享甸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留截碴,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓蛉威,卻偏偏與公主長得像日丹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蚯嫌,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

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

  • 參考:http://www.reibang.com/p/569106a3008f 最近在逐步跟進Hbase的相關...
    博弈史密斯閱讀 853評論 1 1
  • 最近在逐步跟進Hbase的相關工作哲虾,由于之前對Hbase并不怎么了解丙躏,因此系統(tǒng)地學習了下Hbase,為了加深對Hb...
    飛鴻無痕閱讀 50,224評論 19 272
  • 簡介 HBase是高可靠性束凑,高性能晒旅,面向列,可伸縮的分布式存儲系統(tǒng)汪诉,利用HBase技術(shù)可在廉價PC Serve...
    九世的貓閱讀 2,190評論 1 6
  • 本文首先簡單介紹了HBase,然后重點講述了HBase的高并發(fā)和實時處理數(shù)據(jù) 废恋、HBase數(shù)據(jù)模型、HBase物理...
    達微閱讀 2,732評論 1 13
  • 1. HBase介紹扒寄,Hbase是什么鱼鼓? HBase -- Hadoop Database ,是一個高可靠旗们、高性能...
    奉先閱讀 3,738評論 1 36