Hbase中的各個組件介紹

https://blog.csdn.net/u013332124/article/details/100125269

一、Hbase中的4大組件

1咕晋、hbase-client

客戶端,用來訪問hbase集群。可以和Hbase交互宝鼓,也可以和HRegionServer交互倘潜。都是通過hbase rpc來訪問對應的接口吹零。

這里的客戶端模式有多種,可以是Thrift滨嘱、Avro峰鄙、Rest等。

另外太雨,hbase-client自身會緩存region的一些信息吟榴。

2、Zookeeper

作用:

  • HMaster的HA囊扳,哪個HMaster先搶到zk上的鎖吩翻,哪個就是active
  • 存儲-ROOT-表的地址,HMaster的地址
  • 存儲所有HRegionServer的狀態(tài)锥咸,監(jiān)控HRegionServer的上下線
  • 存儲Hbase的一些schema和table的元數(shù)據

3狭瞎、HMaster

HMaster可以啟動多個,通過選舉機制來保證只有一個HMaster正常運行并提供服務搏予,其他的HMaster作為standby來保證HA熊锭。

HMaster主要負責表和Region的管理工作。如:

  • 用戶對表的增刪改查
  • 管理RegionServer的負載均衡,調整Region的分布
  • 在RegionServer宕機或下線后碗殷,負責遷移RegionServer上的Region到其他的RegionServer上
  • Region在分裂后精绎,負責分配新的Region

4、HRegionServer

HRegionServer是hbase中真正的工作節(jié)點锌妻,主要負責響應用戶的I/O請求仿粹,向HDFS文件系統(tǒng)讀寫數(shù)據堕仔,以及Region的數(shù)據文件的合并和拆分等,是Hbase中最核心的模塊。

在Hbase中唤冈,一張表由多個的HRegion組成,一個HRegionServer中管理著多個HRegion對象傅物。而一個HRegion由多個HStore組成圆米,每個HStore對象都對應著表的一個列族(Column Family)也祠。之后堪旧,一個HStore又由一個MemStore和多個StoreFile組成。這些StoreFile就是hbase存儲在hdfs上的數(shù)據文件干厚,MemStore表示還在內存中未刷新到文件上的那些數(shù)據所坯。

在這里插入圖片描述

MemStore是基于LSM算法來寫數(shù)據的状土,當大小達到一定的量后训桶,會將內存中的數(shù)據刷新到磁盤,形成一個新的StoreFile置侍。隨著程序的不斷運行墅垮,StoreFile的數(shù)量會越來越多,所以HRegionServer還需要定期的去合并這些StoreFile耕漱。

另外算色,當數(shù)據越來越多,一個Region下的StoreFile的總大小會越來越大螟够,為了更好的查詢性能灾梦,HRegionServer會負責將達到一定大小的Region分裂成兩個Region峡钓。分配的過程大概就是原Region下線,然后分裂出來的兩個新Region由HMaster來分配給相應的HRegionServer(根據負載均衡算法)若河。

HRegionServer還有一個HLog對象能岩,主要實現(xiàn)了WAL機制。因為hbase是將數(shù)據先寫到內存萧福,堆積到一定程度才刷新到磁盤拉鹃,如果HRegionServer突然宕機,就會導致一部分數(shù)據丟失鲫忍。所以通過WAL機制膏燕,我們可以保證HRegionServer宕機后數(shù)據依舊可以通過WAL日志來恢復。每一個HRegionServer實例只會有一個HLog對象悟民,也就是該HRegionServer上各個表的HRegion的寫操作全部記錄在一個WAL文件中坝辫。

在HRegionServer宕機后,主要數(shù)據恢復流程大概如下:

  1. HMaster通過zk檢測到有HRegionServer下線射亏,開始處理它遺留的WAL文件
  2. 將該WAL文件中不同Region的數(shù)據進行拆分近忙,然后放到對應的Region的目錄下
  3. 接著HMaster開始將這些失效的Region進行分配,也就是各個在線的HRegionServer都可能領到這些Region
  4. HRegionServer實例分配到Region后智润,發(fā)現(xiàn)對應的Region目錄下有WAL文件需要處理及舍,就會讀取這些數(shù)據進行回放,數(shù)據也就重新加載到MemStore中去了

二做鹰、Hbase 組件的HA保證

1击纬、zk的HA保證

作為一個分布式協(xié)調系統(tǒng),zk本身就有做HA钾麸。只要有足夠的zk實例在運行更振,zk就可以正常的提供服務。

zk一般建議部署單數(shù)臺的實例饭尝,這主要和他的選舉機制有關肯腕。zk在讀數(shù)據的時候可以去任何一臺節(jié)點讀取數(shù)據,但是在寫數(shù)據時需要把請求轉發(fā)給leader節(jié)點進行處理钥平,如果無法選出leader節(jié)點的話实撒,zk集群是無法正常工作的。leader的選舉規(guī)則是某個節(jié)點必須獲得超過一半的選票才可以成為leader涉瘾,所以如果掛掉n/2臺知态,選舉無法進行,zk集群就無法提供服務了立叛。舉幾個例子:

  • 假設有2臺zk節(jié)點负敏,掛掉了一臺后,只剩下一臺zk節(jié)點秘蛇,這時候只能獲取到一個投票其做,沒有超過1/2顶考,所以剩下的那臺zk節(jié)點也無法成為leader,集群無法提供服務(此時容忍度是可以掛掉0臺)
  • 假設有3臺zk節(jié)點妖泄,掛掉了一臺后驹沿,只剩下2臺zk節(jié)點,這時候可以獲取到2個投票蹈胡,占2/3渊季,超過了1/2,所以zk可以選出leader审残,是可以正常工作的(此時容忍度是可以掛掉1臺)
  • 假設有4臺zk節(jié)點梭域,掛掉兩臺后,只剩下兩臺zk節(jié)點搅轿,這時候只能獲取到兩個投票,沒有超過1/2富玷,所以剩下的那臺zk節(jié)點也無法成為leader璧坟,集群無法提供服務(此時容忍度是可以掛掉1臺)

從上面3個例子可以看出,1臺zk節(jié)點和2臺zk節(jié)點的容忍度都是0臺赎懦,3臺zk節(jié)點和4臺zk節(jié)點的容忍度都是1臺雀鹃。可以推出2n-1和2n的效果是一樣的励两,沒必要花更多的資源去部署多余的zk節(jié)點黎茎。因此普遍建議部署奇數(shù)臺zk節(jié)點即可。

hbase有許多地方都依賴于zk当悔,如果zk無法正常工作傅瞻,會嚴重影響hbase的運行。因此建議zk至少部署3個實例盲憎。

2嗅骄、HMaster的HA保證

HMaster一般采用一主多備的方式來保證HA。HMaster在啟動后通過嘗試創(chuàng)建zk節(jié)點來成為Active饼疙,其他沒有創(chuàng)建成果的則成為standby溺森。如果active節(jié)點的HMaster因為一些原因掛掉了,standby的HMaster實例就可以迅速成為新的active然后開始工作窑眯。

HMaster的HA依賴于zk屏积,因此只要zk能正常提供服務,HMaster只要部署2臺即可保證高可用磅甩。

3炊林、HRegionServer的HA保證

HRegionServer只是一個工作節(jié)點,負責一部分的Region更胖,因此只要不是所有的HRegionServer全掛了铛铁,都不會對hbase有什么影響隔显。

HRegionServer下線后,HMaster會將它負責的那些Region分發(fā)給其他的HRegionServer來管理饵逐。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末括眠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子倍权,更是在濱河造成了極大的恐慌掷豺,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄声,死亡現(xiàn)場離奇詭異当船,居然都是意外死亡,警方通過查閱死者的電腦和手機默辨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門德频,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缩幸,你說我怎么就攤上這事壹置。” “怎么了表谊?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵钞护,是天一觀的道長。 經常有香客問我爆办,道長难咕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任距辆,我火速辦了婚禮余佃,結果婚禮上,老公的妹妹穿的比我還像新娘挑格。我一直安慰自己咙冗,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布漂彤。 她就那樣靜靜地躺著雾消,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挫望。 梳的紋絲不亂的頭發(fā)上立润,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音媳板,去河邊找鬼桑腮。 笑死,一個胖子當著我的面吹牛蛉幸,可吹牛的內容都是我干的破讨。 我是一名探鬼主播丛晦,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼提陶!你這毒婦竟也來了烫沙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隙笆,失蹤者是張志新(化名)和其女友劉穎锌蓄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撑柔,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡瘸爽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铅忿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剪决。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖檀训,靈堂內的尸體忽然破棺而出昼捍,到底是詐尸還是另有隱情,我是刑警寧澤肢扯,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站担锤,受9級特大地震影響蔚晨,放射性物質發(fā)生泄漏。R本人自食惡果不足惜肛循,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一铭腕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧多糠,春花似錦累舷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搭伤,卻和暖如春只怎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怜俐。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工身堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拍鲤。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓贴谎,卻偏偏與公主長得像汞扎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子擅这,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內容

  • 一澈魄、HBase簡介 Hbase是什么 HBase是一種構建在HDFS之上的分布式、面向列蕾哟、多版本一忱、非關系型的數(shù)據庫...
    便利蜂數(shù)據平臺閱讀 979評論 0 4
  • 一、簡介 Hbase:全名Hadoop DataBase谭确,是一種開源的帘营,可伸縮的,嚴格一致性(并非最終一致性)的分...
    菜鳥小玄閱讀 2,388評論 0 12
  • 1逐哈、基本概念 HBase是一個開源的非關系型分布式數(shù)據庫(NoSQL)芬迄,參考了谷歌的BIgTable建模,實現(xiàn)的編...
    雪飄千里閱讀 1,021評論 0 2
  • 參考:http://www.reibang.com/p/569106a3008f 最近在逐步跟進Hbase的相關...
    博弈史密斯閱讀 857評論 1 1
  • 沈從文 讀了《合肥三姐妹》昂秃,刷新了沈從文在我心中的形象禀梳。讀沈從文的小說,能覺出他是個柔和而天真的人肠骆。 很明顯算途,他的...
    青蕪閱讀 961評論 0 0