分布式數(shù)據(jù)庫HBase-Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)_第1頁
分布式數(shù)據(jù)庫HBase-Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)_第2頁
分布式數(shù)據(jù)庫HBase-Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)_第3頁
分布式數(shù)據(jù)庫HBase-Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)_第4頁
分布式數(shù)據(jù)庫HBase-Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

分布式數(shù)據(jù)庫HBase——Region服務(wù)器、Store、HLog工作原理和讀寫數(shù)據(jù)北京信息職業(yè)技術(shù)學(xué)院|朱立本文來自:大數(shù)據(jù)技術(shù)原理與應(yīng)用——概念、存儲、處理、分析與應(yīng)用作者:林子雨出版社:人民郵電出版社版權(quán)說明若作者對本資料使用持有異議,請及時(shí)聯(lián)系本網(wǎng)站,我們將在第一時(shí)間妥善處理。2 Region服務(wù)器工作原理Region服務(wù)器向HDFS文件系統(tǒng)中讀寫數(shù)據(jù)Region服務(wù)器工作原理1.用戶讀寫數(shù)據(jù)過程

用戶寫入數(shù)據(jù)時(shí),被分配到相應(yīng)Region服務(wù)器去執(zhí)行用戶數(shù)據(jù)首先被寫入到MemStore和Hlog中只有當(dāng)操作寫入Hlog之后,commit()調(diào)用才會將其返回給客戶端當(dāng)用戶讀取數(shù)據(jù)時(shí),Region服務(wù)器會首先訪問MemStore緩存,如果找不到,再去磁盤上面的StoreFile中尋找Region服務(wù)器工作原理2.緩存的刷新系統(tǒng)會周期性地把MemStore緩存里的內(nèi)容刷寫到磁盤的StoreFile文件中,清空緩存,并在Hlog里面寫入一個(gè)標(biāo)記每次刷寫都生成一個(gè)新的StoreFile文件,因此,每個(gè)Store包含多個(gè)StoreFile文件每個(gè)Region服務(wù)器都有一個(gè)自己的HLog文件,每次啟動都檢查該文件,確認(rèn)最近一次執(zhí)行緩存刷新操作之后是否發(fā)生新的寫入操作;如果發(fā)現(xiàn)更新,則先寫入MemStore,再刷寫到StoreFile,最后刪除舊的Hlog文件,開始為用戶提供服務(wù)Region服務(wù)器工作原理3.StoreFile的合并每次刷寫都生成一個(gè)新的StoreFile,數(shù)量太多,影響查找速度調(diào)用Spact()把多個(gè)合并成一個(gè)合并操作比較耗費(fèi)資源,只有數(shù)量達(dá)到一個(gè)閾值才啟動合并Store工作原理Store是Region服務(wù)器的核心多個(gè)StoreFile合并成一個(gè)單個(gè)StoreFile過大時(shí),又觸發(fā)分裂操作,1個(gè)父Region被分裂成兩個(gè)子RegionStoreFile的合并和分裂過程HLog工作原理分布式環(huán)境必須要考慮系統(tǒng)出錯。HBase采用HLog保證系統(tǒng)恢復(fù)HBase系統(tǒng)為每個(gè)Region服務(wù)器配置了一個(gè)HLog文件,它是一種預(yù)寫式日志(WriteAheadLog)用戶更新數(shù)據(jù)必須首先寫入日志后,才能寫入MemStore緩存,并且,直到MemStore緩存內(nèi)容對應(yīng)的日志已經(jīng)寫入磁盤,該緩存內(nèi)容才能被刷寫到磁盤HLog工作原理Zookeeper會實(shí)時(shí)監(jiān)測每個(gè)Region服務(wù)器的狀態(tài),當(dāng)某個(gè)Region服務(wù)器發(fā)生故障時(shí),Zookeeper會通知MasterMaster首先會處理該故障Region服務(wù)器上面遺留的HLog文件,這個(gè)遺留的HLog文件中包含了來自多個(gè)Region對象的日志記錄系統(tǒng)會根據(jù)每條日志記錄所屬的Region對象對HLog數(shù)據(jù)進(jìn)行拆分,分別放到相應(yīng)Region對象的目錄下,然后,再將失效的Region重新分配到可用的Region服務(wù)器中,并把與該Region對象相關(guān)的HLog日志記錄也發(fā)送給相應(yīng)的Region服務(wù)器HLog工作原理Region服務(wù)器領(lǐng)取到分配給自己的Region對象以及與之相關(guān)的HLog日志記錄以后,會重新做一遍日志記錄中的各種操作,把日志記錄中的數(shù)據(jù)寫入到MemStore緩存中,然后,刷新到磁盤的StoreFile文件中,完成數(shù)據(jù)恢復(fù)共用日志優(yōu)點(diǎn):提高對表的寫操作性能;缺點(diǎn):恢復(fù)時(shí)需要分拆日志讀寫數(shù)據(jù)HBase使用HMemStore和HStoreFile存儲對表的更新。數(shù)據(jù)在更新時(shí),首先寫入HLog和內(nèi)存(HMemStore)中,HMemStore中的數(shù)據(jù)是排序的,當(dāng)HMemStore累計(jì)到一定閾值時(shí),就會創(chuàng)建一個(gè)新的HMemStore,并且將老的HMemStore添加到flush隊(duì)列,由單獨(dú)的線程flush到磁盤上,成為一個(gè)HStoreFile。與此同時(shí),系統(tǒng)會在Zookeeper中記錄一個(gè)檢查點(diǎn),表示這個(gè)時(shí)刻前的變更已持久化了。讀寫數(shù)據(jù)當(dāng)系統(tǒng)出現(xiàn)意外時(shí),可能導(dǎo)致內(nèi)存(HMemStore)中的數(shù)據(jù)丟失,此時(shí)使用HLog來恢復(fù)檢查點(diǎn)之后的數(shù)據(jù)。HStoreFile是只讀的,一旦創(chuàng)建后就不可以再修改。因此HBase的更新其實(shí)是不斷追加的操作。當(dāng)一個(gè)HStore中的HStoreFile達(dá)到一定的閾值后,就會進(jìn)行一次合并,將對同一個(gè)key的修改合并到一起,形成一個(gè)大的HStoreFile,當(dāng)HStoreFile的大小達(dá)到一定閾值后,又會對HStoreFile進(jìn)行分裂,等分為兩個(gè)HStoreFile。讀寫數(shù)據(jù)由于對表的更新是不斷追加的,處理讀請求時(shí),需要訪問HStore中全部的HStoreFile和HMemStore,將他們按照行鍵進(jìn)行合并,由于HStoreFile和HMemStore都是經(jīng)過排序的,并且HStoreFile帶有內(nèi)存中索引,合并的過程還是比較快的。讀寫數(shù)據(jù)寫請求處理過程具體如下:client向HRegionServer提交寫請求;HRegionServer找到目標(biāo)HRegion;HRegion

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論