




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
主講:張義0102目錄HBase系統(tǒng)架構(gòu)HBase工作流程HBase系統(tǒng)架構(gòu)1HBase系統(tǒng)架構(gòu)HBase系統(tǒng)架構(gòu)
從HBase的架構(gòu)圖上可以看出,HBase中的組件包括Client、Zookeeper、HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、HLog等,接下來介紹他們的作用。HBase中的每張表都通過行鍵按照一定的范圍被分割成多個(gè)子表(HRegion),默認(rèn)一個(gè)HRegion超過256M就要被分割成兩個(gè),這個(gè)過程由HRegionServer管理,而HRegion的分配由HMaster管理。Client
包含訪問HBase的接口,并維護(hù)cache來加快對HBase的訪問。Zookeeper
HBase依賴Zookeeper,默認(rèn)情況下HBase管理Zookeeper實(shí)例(啟動或關(guān)閉Zookeeper),Master與RegionServers啟動時(shí)會向Zookeeper注冊。
保證任何時(shí)候,集群中只有一個(gè)master
實(shí)時(shí)監(jiān)控Regionserver的上線和下線信息,并實(shí)時(shí)通知給master。
存儲HBase的schema和table元數(shù)據(jù)。HBase系統(tǒng)架構(gòu)
HMaster
為Regionserver分配region
負(fù)責(zé)Regionserver的負(fù)載均衡
發(fā)現(xiàn)失效的Regionserver并重新分配其上的region。
處理schema更新請求。HRegionServer
維護(hù)master分配給他的region,處理對這些region的io請求。
負(fù)責(zé)切分正在運(yùn)行過程中變的過大的region。
注意:client訪問hbase上的數(shù)據(jù)時(shí)不需要master的參與,因?yàn)閿?shù)據(jù)尋址訪問zookeeper和regionserver,而數(shù)據(jù)讀寫訪問regionserver。master僅僅維護(hù)table和region的元數(shù)據(jù)信息,而table的元數(shù)據(jù)信息保存在zookeeper上,因此master負(fù)載很低HBase系統(tǒng)架構(gòu)HRegion
table在行的方向上分隔為多個(gè)Region。Region是HBase中分布式存儲和負(fù)載均衡的最小單元,即不同的region可以分別在不同的RegionServer上,但同一個(gè)Region是不會拆分到多個(gè)server上。
Region按大小分隔,每個(gè)表一般是只有一個(gè)region。隨著數(shù)據(jù)不斷插入表,region不斷增大,當(dāng)region的某個(gè)列族達(dá)到一個(gè)閾值時(shí)就會分成兩個(gè)新的region。
每個(gè)region由以下信息標(biāo)識:<表名,startRowkey,創(chuàng)建時(shí)間>
由目錄表(-ROOT-和.META.)記錄該region的endRowkeyStore
每一個(gè)region由一個(gè)或多個(gè)store組成,至少是一個(gè)store,hbase會把一起訪問的數(shù)據(jù)放在一個(gè)store里面,即為每個(gè)ColumnFamily建一個(gè)store,如果有幾個(gè)ColumnFamily,也就有幾個(gè)Store。一個(gè)Store由一個(gè)memStore和0或者多個(gè)StoreFile組成。HBase以store的大小來判斷是否需要切分regionHBase系統(tǒng)架構(gòu)MemStore
memStore是放在內(nèi)存里的。保存修改的數(shù)據(jù)即keyValues。當(dāng)memStore的大小達(dá)到一個(gè)閥值(默認(rèn)128MB)時(shí),memStore會被flush到文件,即生成一個(gè)快照。目前hbase會有一個(gè)線程來負(fù)責(zé)memStore的flush操作。StoreFile
memStore內(nèi)存中的數(shù)據(jù)寫到文件后就是StoreFile,StoreFile底層是以HFile的格式保存。HfileHBase中KeyValue數(shù)據(jù)的存儲格式,HFile是Hadoop的二進(jìn)制格式文件,實(shí)際上StoreFile就是對Hfile做了輕量級包裝,即StoreFile底層就是Hfile。HBase系統(tǒng)架構(gòu)HLog
HLog(WALlog):WAL意為writeaheadlog,用來做災(zāi)難恢復(fù)使用,HLog記錄數(shù)據(jù)的所有變更,一旦regionserver宕機(jī),就可以從log中進(jìn)行恢復(fù)。HBase工作流程2HBase工作流程
HBase工作流程Client
首先當(dāng)一個(gè)請求產(chǎn)生時(shí),HBaseClient使用RPC(遠(yuǎn)程過程調(diào)用)機(jī)制與HMaster和HRegionServer進(jìn)行通信,對于管理類操作,Client與HMaster進(jìn)行RPC;對于數(shù)據(jù)讀寫操作,Client與HRegionServer進(jìn)行RPC。Zookeeper
HBaseClient使用RPC(遠(yuǎn)程過程調(diào)用)機(jī)制與HMaster和HRegionServer進(jìn)行通信,但如何尋址呢?由于Zookeeper中存儲了-ROOT-表的地址和HMaster的地址,所以需要先到Zookeeper上進(jìn)行尋址。
HRegionServer也會把自己以Ephemeral方式注冊到Zookeeper中,使HMaster可以隨時(shí)感知到各個(gè)HRegionServer的健康狀態(tài)。此外,Zookeeper也避免了HMaster的單點(diǎn)故障。
HBase工作流程HMaster
當(dāng)用戶需要進(jìn)行Table和Region的管理工作時(shí),就需要和HMaster進(jìn)行通信。HBase中可以啟動多個(gè)HMaster,通過Zookeeper的MasterEletion機(jī)制保證總有一個(gè)Master運(yùn)行。
管理用戶對Table的增刪改查操作
管理HRegionServer的負(fù)載均衡,調(diào)整Region的分布
在RegionSplit后,負(fù)責(zé)新Region的分配
在HRegionServer停機(jī)后,負(fù)責(zé)失效HRegionServer上的Regions遷移HRegionServer
當(dāng)用戶需要對數(shù)據(jù)進(jìn)行讀寫操作時(shí),需要訪問HRegionServer。HRegionServer存取一個(gè)子表時(shí),會創(chuàng)建一個(gè)HRegion對象,然后對表的每個(gè)列族創(chuàng)建一個(gè)Store實(shí)例,每個(gè)Store都會有一個(gè)MemStore和0個(gè)或多個(gè)StoreFile與之對應(yīng),每個(gè)StoreFile都會對應(yīng)一個(gè)HFile,HFile就是實(shí)際的存儲文件。因此,一個(gè)HRegion有多少個(gè)列族就有多少個(gè)Store。一個(gè)HRegionServer會有多個(gè)HRegion和一個(gè)HLog。HBase工作流程注意:HStore存儲由兩部分組成:MemStore和StoreFiles。MemStore是SortedMemoryBuffer,用戶寫入數(shù)據(jù)首先會放在MemStore,當(dāng)MemStore滿了以后會Flush成一個(gè)StoreFile(實(shí)際存儲在HDHS上的是HFile),當(dāng)StoreFile文件數(shù)量增長到一定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 調(diào)研項(xiàng)目課題申報(bào)書
- ny科研課題申報(bào)書
- 個(gè)人教研課題申報(bào)書
- 售后擔(dān)保合同范本
- 關(guān)于大米購銷合同范本
- 專線合作合同范本
- 創(chuàng)文宣傳合同范例
- 勞動合同范本軟件
- led貼加工合同范本
- 賣樓鋪面轉(zhuǎn)讓合同范本
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫完整
- 部編版《道德與法治》四年級下冊全冊教案
- 雷鋒精神生生不息-2025年學(xué)校3.5學(xué)雷鋒月主題活動方案
- 《錢三強(qiáng)-杰出課件》
- 山東2025年山東大學(xué)輔導(dǎo)員招聘筆試歷年參考題庫附帶答案詳解
- 羽毛球運(yùn)動體育健身
- 骨科管理制度
- 電動叉車培訓(xùn)課件
- 電子教案-《網(wǎng)絡(luò)設(shè)備配置與管理》
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- “供應(yīng)商融資安排”會計(jì)列報(bào)、披露問題研究
評論
0/150
提交評論