分布式數(shù)據(jù)庫HBase-HBase系統(tǒng)架構(gòu)及工作原理_第1頁
分布式數(shù)據(jù)庫HBase-HBase系統(tǒng)架構(gòu)及工作原理_第2頁
分布式數(shù)據(jù)庫HBase-HBase系統(tǒng)架構(gòu)及工作原理_第3頁
分布式數(shù)據(jù)庫HBase-HBase系統(tǒng)架構(gòu)及工作原理_第4頁
分布式數(shù)據(jù)庫HBase-HBase系統(tǒng)架構(gòu)及工作原理_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

分布式數(shù)據(jù)庫HBase——HBase系統(tǒng)架構(gòu)及工作原理北京信息職業(yè)技術(shù)學(xué)院|朱立本文來自:大數(shù)據(jù)技術(shù)原理與應(yīng)用——概念、存儲(chǔ)、處理、分析與應(yīng)用作者:林子雨出版社:人民郵電出版社版權(quán)說明若作者對本資料使用持有異議,請及時(shí)聯(lián)系本網(wǎng)站,我們將在第一時(shí)間妥善處理。2HBase系統(tǒng)架構(gòu)HBase的系統(tǒng)架構(gòu)HBase系統(tǒng)架構(gòu)1.客戶端客戶端包含訪問HBase的接口,同時(shí)在緩存中維護(hù)著已經(jīng)訪問過的Region位置信息,用來加快后續(xù)數(shù)據(jù)訪問過程2.Zookeeper服務(wù)器Zookeeper可以幫助選舉出一個(gè)Master作為集群的總管,并保證在任何時(shí)刻總有唯一一個(gè)Master在運(yùn)行,這就避免了Master的“單點(diǎn)失效”問題HBase系統(tǒng)架構(gòu)Zookeeper是一個(gè)很好的集群管理工具,被大量用于分布式計(jì)算,提供配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。HBase系統(tǒng)架構(gòu)3.HMaster主服務(wù)器Master主要負(fù)責(zé)表和Region的管理工作:管理用戶對表的增加、刪除、修改、查詢等操作實(shí)現(xiàn)不同Region服務(wù)器之間的負(fù)載均衡在Region分裂或合并后,負(fù)責(zé)重新調(diào)整Region的分布對發(fā)生故障失效的Region服務(wù)器上的Region進(jìn)行遷移HBase系統(tǒng)架構(gòu)3.HMaster任何時(shí)刻,一個(gè)Region只能分配給一個(gè)RegionServer。Master記錄了當(dāng)前有哪些可用的RegionServer,以及當(dāng)前哪些Region分配給了哪些RegionServer,哪些Region還沒有分配。當(dāng)存在未分配的Region時(shí),并且有一個(gè)RegionServer上有可用空間時(shí),HMaster就給這個(gè)RegionServer發(fā)送一個(gè)裝載請求,把Region分配給這個(gè)RegionServer。RegionServer得到請求后,就開始對此Region提供服務(wù)。HBase系統(tǒng)架構(gòu)4.Region服務(wù)器(RegionServer)Region服務(wù)器是HBase中最核心的模塊,負(fù)責(zé)維護(hù)分配給自己的Region,并響應(yīng)用戶的讀寫請求HBase系統(tǒng)架構(gòu)5.HStoreHStore存儲(chǔ)是HBase存儲(chǔ)的核心了,由兩部分組成,一部分是HMemStore,一部分是HStoreFile。用戶寫入的數(shù)據(jù)首先會(huì)放入HMemStore,當(dāng)HMemStore滿了以后會(huì)Flush成一個(gè)HStoreFile。HBase系統(tǒng)架構(gòu)5.HStore當(dāng)HStoreFile文件數(shù)量增長到一定閾值,會(huì)觸發(fā)合并操作,將多個(gè)HStoreFile合并成一個(gè)HStoreFile。合并會(huì)形成越來越大的HStoreFile,當(dāng)單個(gè)HStoreFile大小超過一定閾值后,會(huì)觸發(fā)分裂操作,同時(shí)把當(dāng)前HRegion分裂成2個(gè)Hregion。合并分裂HBase系統(tǒng)架構(gòu)5.HStore在分布式系統(tǒng)環(huán)境中,無法避免系統(tǒng)出錯(cuò)或者宕機(jī),因此一旦HRegionServer意外退出,HMemStore中的內(nèi)存數(shù)據(jù)將會(huì)丟失。這就需要引入HLog,當(dāng)HRegionServer重啟后進(jìn)行數(shù)據(jù)恢復(fù)。HBase系統(tǒng)架構(gòu)HRegionServer上線Master使用Zookeeper來跟蹤HRegionServer的狀態(tài)。當(dāng)某個(gè)HRegionServer啟動(dòng)時(shí),會(huì)首先在Zookeeper上的server目錄下建立代表自己的文件,并獲得該文件的獨(dú)占鎖。由于HMaster訂閱了server目錄上的變更消息,當(dāng)server目錄下的文件出現(xiàn)新增或刪除操作時(shí),HMaster可以得到來自Zookeeper的實(shí)時(shí)通知。因此,一旦HRegionServer上線,HMaster能馬上得到消息。HBase系統(tǒng)架構(gòu)HRegionServer下線當(dāng)HRegionServer下線時(shí),它和Zookeeper的會(huì)話斷開,Zookeeper自動(dòng)釋放代表這臺(tái)server的文件上的獨(dú)占鎖。而HMaster不斷輪詢server目錄下文件的鎖狀態(tài)。如果HMaster發(fā)現(xiàn)某個(gè)HRegionServer丟失了它自己的獨(dú)占鎖(或者HMaster連續(xù)幾次和HRegionServer通信都無法成功),HMaster就嘗試去獲取代表這個(gè)HRegionServer的讀寫鎖,一旦獲取成功,則表明HRegionServer和Zookeeper之間的網(wǎng)絡(luò)斷開了或是HRegionServer掛了。上述情況發(fā)生時(shí),HRegionServer都無法繼續(xù)為它的HRegion提供服務(wù)了,此時(shí)HMaster會(huì)刪除server目錄下代表這臺(tái)HRegionServer的文件,并將這臺(tái)HRegionServer的HRegion分配給其它還活著的HRegionServer。如果網(wǎng)絡(luò)短暫出現(xiàn)問題導(dǎo)致HRegionServer丟失了它的鎖,那么HRegionServer重新連接到Zookeeper之后,只要代表它的文件還在,它就會(huì)不斷嘗試獲取這個(gè)文件上的鎖,一旦獲取到了,就可以繼續(xù)提供服務(wù)。

HBase系統(tǒng)架構(gòu)HMaster上線HMaster啟動(dòng)時(shí),需要執(zhí)行以下步驟:1.從Zookeeper上獲取唯一一個(gè)代表該HMaster的鎖,用來阻止其它HMaster成為主服務(wù)器;2.掃描Zookeeper上的server目錄,獲得當(dāng)前可用的HRegionServer列表;3.和第二步中的每個(gè)HRegionServer通信,獲得當(dāng)前已分配的HRegion和HRegionServer的對應(yīng)關(guān)系;4.掃描.META.中HRegion的集合,計(jì)算得到當(dāng)前還未分配的HRegion,將它們放入待分配HRegion列表。

HBase系統(tǒng)架構(gòu)Hmaster下線由于HMaster只維護(hù)表和HRegion的元數(shù)據(jù),而不參與表數(shù)據(jù)IO的過程,HMaster下線,僅導(dǎo)致所有元數(shù)據(jù)的修改被凍結(jié)(無法創(chuàng)建刪除表,無法修改表的schema,無法進(jìn)行HRegion的負(fù)載均衡,無法處理HRegion上下線,無法進(jìn)行HRegion的合并,唯一例外的是HRegion的分裂可以正常進(jìn)行,因?yàn)橹挥蠬RegionServer參與),表的數(shù)據(jù)讀寫還可以正常進(jìn)行。因此,HMast

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論