Hbase學(xué)習(xí)筆記-Hbase架構(gòu)詳解

主從架構(gòu):HmasterHRegionServer

協(xié)調(diào)服務(wù)Zookeeper協(xié)調(diào)hmaster與hregionServer

底層hbase數(shù)據(jù)存儲hbase文件中

Client與zookeeper和hregionServer交互不與Hmaster交互類似于hdfs

namenode和datanode

客戶端Client:

整個(gè)hbase集群的入口進(jìn)行表的增刪查改操作入口與zookeeper進(jìn)行一系列的的交互

使用hbase

rpc機(jī)制與hmaster、hregionServer進(jìn)行通信

與hmaster通信進(jìn)行管理類的操作

與hregionserver通信進(jìn)行讀寫類的操作表的交互

包含訪問hbase的接口,并維護(hù)cache加快對hbase的訪問窝爪,與hregionServer交互

協(xié)調(diào)服務(wù)zookeeper

保證任何時(shí)候呈宇,集群中只有一個(gè)master HA解決單節(jié)點(diǎn)故障

存儲所有region的尋址入口

實(shí)時(shí)監(jiān)控Region server的上線和下線信息并實(shí)時(shí)通知給master

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

Hbase主節(jié)點(diǎn)Hmaster

通過zookeeper選舉機(jī)制解決單節(jié)點(diǎn)故障問題

管理用戶對表table的增刪改查操作主要是針對表的管理不是表數(shù)據(jù)的管理

管理HregionServer的負(fù)載均衡和調(diào)整Region的分布

在Region Split(擴(kuò)大)后,負(fù)責(zé)新Region的分配

Hmaster失效僅會導(dǎo)致所有元數(shù)據(jù)無法被修改,表的數(shù)據(jù)讀寫還是可以正常進(jìn)行

RegionServer節(jié)點(diǎn):

維護(hù)Hregion并往HDFS中寫數(shù)據(jù)

當(dāng)表的大小超過設(shè)置時(shí)候,split HRegion

在Hregion Server停機(jī)后,負(fù)責(zé)失效HregionServer上的Region遷移

Hbase與Zookeeper

Hbase元數(shù)據(jù)存儲在zookeeper中

默認(rèn)情況下秸架,Hbase(自帶zookeeper,生產(chǎn)環(huán)境中一般使用外置通用的的zookeeper)管理Zookeeper的實(shí)例比如啟動或停止zookeeper

Zookeeper解決Hbase單點(diǎn)故障問題zookeeper選舉機(jī)制

Hmaster與HregionServer啟動時(shí)會向Zookeeper注冊

Zookeeper文件->root表信息(0.96后不存儲root表信息)->meta Data->user Table

尋找RegionServer過程:

Zookeeper(讀取zookeeper找到root表位置) ->

Root (root表包含meta表所在的region列表該表只會有一個(gè)Region

zookeeper中記錄了root的location)

Meta(meta表包含所有用戶控件region列表以及RegionServer服務(wù)器的地址)

用戶表

Client第一次操作后咆蒿,會將root meta緩存到本地不需要再訪問zoookeeper

Hbase容錯(cuò):

Master容錯(cuò):zookeeper重新選擇一個(gè)新的master

無master過程中东抹,數(shù)據(jù)讀取照常進(jìn)行客戶端讀取數(shù)據(jù)無需經(jīng)過hmaster

無master過程中,region切分蜡秽、負(fù)載均衡等無法進(jìn)行

RegionServer容錯(cuò):定時(shí)向zookeeper匯報(bào)心跳如果一段時(shí)間未出現(xiàn)心跳府阀,master將該RegionServer的region重新分配到其他RegionServer

失效服務(wù)器上的預(yù)寫日志由主服務(wù)器進(jìn)行分割并派送給新的RegionServer

Zookeeper容錯(cuò):zookeeper高可靠的服務(wù)不存在單點(diǎn)故障

HBase數(shù)據(jù)存儲:

HLog HFileStoreFile是對HFile做一層封裝

插入一條數(shù)據(jù)寫兩份文件一個(gè)是HLog文件二進(jìn)制日志文件

Region文件,內(nèi)存中寫數(shù)據(jù)-memstore文件達(dá)到一定大小后StoreFile文件

Hbase中所有數(shù)據(jù)文件都存儲在hadoop

hdfs文件系統(tǒng)上芽突,格式主要有:

HFile:Hbase中keyValue數(shù)據(jù)的存儲格式试浙,Hfile是hadoop的二進(jìn)制格式文件,實(shí)際上StoreFile就是對HFile做了輕量級包裝寞蚌,即StoreFile底層就是HFile

HLogFile:Hbase中WAL write

ahead log的存儲格式田巴,物理上是hadoop的sequence file帶項(xiàng)目符號的內(nèi)容。在機(jī)器學(xué)習(xí)的迭代計(jì)算中非常有優(yōu)勢

Delete是針對數(shù)據(jù)打上標(biāo)簽挟秤,后期進(jìn)行compactor時(shí)候壹哺,再進(jìn)行刪除操作。

不是立即刪除艘刚。

Log flusher -> HLog線程同步

HRegionServer:

其管理一些列Hregion對象

每個(gè)HRegion對應(yīng)Table中一個(gè)Region管宵,HRegion由多個(gè)HStore組成

每個(gè)HStore對應(yīng)Table中一個(gè)Column Family的存儲

Column Family就是一個(gè)集中地存儲單元,將具有IO特性的Column放在一個(gè)Column

Family會更高效

版本合并和數(shù)據(jù)刪除:刪除的數(shù)據(jù)是客戶端打了標(biāo)簽的數(shù)據(jù),即之前delete的數(shù)據(jù)。

Hbase的寫操作非橙裰模快鹿寻,直接往內(nèi)存中寫數(shù)據(jù)素跺。

所有的更新和刪除操作都是在conpact階段做的。

StoreFile文件結(jié)構(gòu):

StoreFile以HFile格式保存在HDFS上

Data Block段-保存表中的數(shù)據(jù),可以被壓縮

Meta block段可選,保存用戶自定義的kv對埠居,可以被壓縮

File info段,HFile的元信息事期,不壓縮用戶也可以在這一部分添加自己的元信息

Data block index段– data block索引滥壕,每條索引的key是被索引的block的第一條記錄的key

Meta block index段meta block索引

Trailer定長保存每一段的偏移量

類似于Mysql的banglog用于做災(zāi)難恢復(fù)集群掛了下次啟動根據(jù)日志恢復(fù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市兽泣,隨后出現(xiàn)的幾起案子绎橘,更是在濱河造成了極大的恐慌,老刑警劉巖撞叨,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件金踪,死亡現(xiàn)場離奇詭異,居然都是意外死亡牵敷,警方通過查閱死者的電腦和手機(jī)胡岔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枷餐,“玉大人靶瘸,你說我怎么就攤上這事∶撸” “怎么了怨咪?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長润匙。 經(jīng)常有香客問我诗眨,道長,這世上最難降的妖魔是什么孕讳? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任匠楚,我火速辦了婚禮,結(jié)果婚禮上厂财,老公的妹妹穿的比我還像新娘芋簿。我一直安慰自己,他們只是感情好璃饱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布与斤。 她就那樣靜靜地躺著,像睡著了一般荚恶。 火紅的嫁衣襯著肌膚如雪撩穿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天裆甩,我揣著相機(jī)與錄音冗锁,去河邊找鬼。 笑死嗤栓,一個(gè)胖子當(dāng)著我的面吹牛冻河,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播茉帅,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼叨叙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了堪澎?” 一聲冷哼從身側(cè)響起擂错,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎樱蛤,沒想到半個(gè)月后钮呀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剑鞍,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年爽醋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚁署。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚂四,死狀恐怖光戈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情遂赠,我是刑警寧澤久妆,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站跷睦,受9級特大地震影響筷弦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抑诸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一奸笤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哼鬓,春花似錦监右、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至称簿,卻和暖如春扣癣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背憨降。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工父虑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人授药。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓士嚎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悔叽。 傳聞我的和親對象是個(gè)殘疾皇子莱衩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

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