第4章 HBase的讀寫基本操作_第1頁
第4章 HBase的讀寫基本操作_第2頁
第4章 HBase的讀寫基本操作_第3頁
第4章 HBase的讀寫基本操作_第4頁
第4章 HBase的讀寫基本操作_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

HBase的讀寫流程第4章學(xué)習(xí)目標(biāo)1.深入了解RegionServer架構(gòu)2.了解HBase寫流程3.了解HBase讀流程4.了解Hbase自動(dòng)優(yōu)化過程HBaseContents目錄讀流程3RegionServer架構(gòu)

寫流程

21自動(dòng)優(yōu)化過程44.1RegionServer架構(gòu)4.1RegionServer架構(gòu)Store一個(gè)Region由多個(gè)Store組成,一個(gè)Store對應(yīng)一個(gè)CF(列族)Store中包含位于內(nèi)存中的Memstore文件和位于磁盤的Storefile文件。Memstore與Storefile寫操作先寫入Memstore,當(dāng)Memstore中的數(shù)據(jù)達(dá)到某個(gè)閾值,會將其刷寫到磁盤中,生成一個(gè)Storefile文件。因此,在一張表剛剛創(chuàng)建之時(shí),系統(tǒng)里只會有Memstore文件,當(dāng)數(shù)據(jù)達(dá)到一定量或插入數(shù)據(jù)一段時(shí)間后,才會出現(xiàn)Storefile文件。4.1RegionServer架構(gòu)WAL(writeaheadlog)由于數(shù)據(jù)要先寫入MemStore后才能刷寫到HFile,儲存在內(nèi)存也會面臨一定風(fēng)險(xiǎn)。為了解決這個(gè)問題,數(shù)據(jù)會先寫在一個(gè)叫做Hlog的文件中,之后再寫入MemStore。該文件包含詳細(xì)的寫入信息,包括Region位置,寫入數(shù)據(jù),寫入時(shí)間等等。若寫入時(shí)出現(xiàn)系統(tǒng)故障,可以通過這個(gè)日志文件重建數(shù)據(jù)。Block

Cache讀緩存,每次查詢出的數(shù)據(jù)都會緩存在BlockCache中,作為熱點(diǎn)數(shù)據(jù),方便下次查詢。4.2寫流程4.2寫流程寫流程:1)Client訪問zookeeper,獲取meta表(存儲每張表RowKey的分布情況)位置;2)訪問meta表,根據(jù)寫請求的RowKey,查詢出數(shù)據(jù)應(yīng)當(dāng)位于哪個(gè)Region中;3)與目標(biāo)RegionServer進(jìn)行通訊;4)將數(shù)據(jù)順序?qū)懭耄ㄗ芳樱┑絎AL中;5)將數(shù)據(jù)寫入對應(yīng)的MemStore,返回寫入成功信息;6)當(dāng)MemStore中的數(shù)據(jù)大小達(dá)到閾值或距離上次溢寫達(dá)到一定時(shí)間,將MemStore溢寫至磁盤中形成StoreFile;7)將meta表的位置信息緩存,方便下次訪問。4.3讀流程4.3讀流程讀流程1)Client訪問zookeeper,獲取meta表(存儲每張表RowKey的分布情況)位置;2)訪問meta表,根據(jù)寫請求的Row

Key,查詢出數(shù)據(jù)應(yīng)當(dāng)位于哪個(gè)Region中;3)與目標(biāo)RegionServer進(jìn)行通訊;4)先后在BlockCache、MemStore、StoreFile中,根據(jù)RowKey尋找數(shù)據(jù),如有不同時(shí)間戳版本,將所有數(shù)據(jù)進(jìn)整合;5)將查詢到的新的數(shù)據(jù)塊信息緩存到BlockCache作為熱點(diǎn)信息;6)將合并后的最終結(jié)果返回給客戶端;7)將meta表的位置信息緩存,方便下次訪問。4.4

HBase自優(yōu)化StoreFileCompaction(合并)由于memstore每次刷寫都會生成一個(gè)新的HFile,且同一個(gè)字段的不同版本(timestamp)和不同類型(Put/Delete操作)有可能會分布在不同的HFile中,因此查詢時(shí)需要遍歷所有的HFile。為了減少HFile的個(gè)數(shù),以及清理掉過期和刪除的數(shù)據(jù),會進(jìn)行StoreFileCompaction。Compaction分為兩種,分別是MinorCompaction和MajorCompaction。MinorCompaction會將臨近的若干個(gè)較小的HFile合并成一個(gè)較大的HFile,并清理掉部分過期和刪除的數(shù)據(jù)。MajorCompaction會將一個(gè)Store下的所有的HFile合并成一個(gè)大HFile,并且會清理掉所有過期和刪除的數(shù)據(jù)。4.4HBase自優(yōu)化4.4HBase自優(yōu)化RegionSplit(切割)

默認(rèn)情況下,每個(gè)Table初始有一個(gè)Region。隨著數(shù)據(jù)的不斷寫入,Region會自動(dòng)進(jìn)行拆分。剛拆分時(shí),兩個(gè)子Region都位于當(dāng)前的RegionServer,但處于負(fù)載均衡的考慮,HMaster有可能會將某個(gè)Region轉(zhuǎn)移給其他的RegionServer。RegionSplit時(shí)機(jī):當(dāng)1個(gè)region中的某個(gè)Store下所有StoreFile的總大小超過Min(initialSize*R^3,hbase.hregion.max.filesize"),該Region就會進(jìn)行拆分。依照默認(rèn)設(shè)置,具體如下:第一次split閾值

溫馨提示

  • 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

提交評論