這篇文章主要介紹了HBase有什么優(yōu)化點,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)河南免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
HBase 有哪些優(yōu)化點?
這是個相對開放的問題,問題沒有那么得細,面對這種問題千萬不要亂了陣腳,其實這種問題答得好是很加分的,可以從幾個不同的方向來回答,這樣顯得有條理,而且可以向面試官展現(xiàn)你的多維度思考和總結(jié)的能力。
兩個角度,一個從使用者的角度,一個從維護者的角度。
1. 從使用者的角度,可以優(yōu)化存儲模型的設(shè)計,包括以下幾個方面:
rowkey設(shè)計:高位用散列,長度不宜過長,可以適當?shù)匕研枰獧z索的條件拼接在rowkey里。查詢時盡量用get,scan時要指定start/end key。
列族的設(shè)計:列族盡量少,且不同列族的數(shù)據(jù)量要盡量均勻。
列族盡量少是因為列族對應(yīng)的底層存儲的一個文件目錄,文件目錄少有助于提高文件檢索速度。
數(shù)據(jù)量要均勻是因為,當一個cf量大到一定程度,memstore會刷盤,而刷盤這個動作不是只針對單個cf,而是整個服務(wù)器,這個時候如果另一個cf的數(shù)據(jù)量很小那也會跟著刷盤,這就造成了會有大量小文件生成,HDFS是最忌諱小文件的,同時小文件的過多也會影響檢索的效率,需要從多個文件中檢索目標。
預分區(qū):在寫比較頻繁的場景下,數(shù)據(jù)增長太快,split的次數(shù)也會增多,額外的資源消耗也會增大,另外數(shù)據(jù)分布不均勻會造成熱點問題,這些都是需要預分區(qū)的原因。
2. 從系統(tǒng)維護者的角度來說,可以對系統(tǒng)優(yōu)化,包括以下幾個方面:
內(nèi)存優(yōu)化:HBase有兩塊主要的內(nèi)存memstore和blockCache的配置
BlockCache,如果寫比讀少很多,可以開到0.4-0.5。如果讀寫較均衡,0.3左右。如果寫比讀多,就默認0.2。設(shè)置這個值的時候,也要參考hbase.regionserver.global.memstore.upperLimit,該值是memstore占heap的最大百分比,兩個參數(shù)一個影響讀,一個影響寫。如果兩值加起來超過80-90%,會有OOM的風險。具體就不說了,看我之前的文章 HBase篇(4)-你不知道的HFile
GC優(yōu)化:默認cms,可以優(yōu)化為G1。
壓縮:默認未開啟,建議使用Snappy和LZO,壓縮比,壓縮解壓速率,資源消耗都是比較平衡的。
BloomFilter:默認未開啟,需要在建立表的時候加入。用布隆過濾可以節(jié)省讀磁盤過程,可以有助于降低讀取延遲。具體就不說了看我之前的文章 HBase篇(5)- BloomFilter
其實還有一些其他零零散散的點,就不說了,說這么多對于這個問題來說已經(jīng)回答地很完美了。說這些的過程中的某些點面試官很有可能是會追問下去的,比如內(nèi)存優(yōu)化,bloomfilter等,所以可以看得深入一點,回答的時候也能更加從容一點。
HRegionServer宕機后系統(tǒng)是怎么保證可用性的 ?
宕機恢復的過程也是面試中的常見問題,重點是wal機制。
1. ZooKeeper會監(jiān)控HRegionServer的上下線情況,當ZK發(fā)現(xiàn)某個HRegionServer宕機之后會通知HMaster進行失效備援;
2. 該HRegionServer會停止對外提供服務(wù),就是它所負責的region暫時停止對外提供服務(wù)
3. HMaster會將該HRegionServer所負責的region轉(zhuǎn)移到其他HRegionServer上,并且會對HRegionServer上存在memstore中還未持久化到磁盤中的數(shù)據(jù)進行恢復
4. 這個恢復的工作是由WAL重播來完成,這個過程如下:
wal實際上就是一個文件,存在/hbase/WAL/對應(yīng)RegionServer路徑下。
宕機發(fā)生時,讀取該RegionServer所對應(yīng)的路徑下的wal文件,然后根據(jù)不同的region切分成不同的臨時文件recover.edits。
當region被分配到新的RegionServer中,RegionServer讀取region時會進行是否存在recover.edits,如果有則進行恢復。
說說HBase 的 compaction 過程和作用?
在hbase中每當有memstore數(shù)據(jù)flush到磁盤之后,就形成一個storefile,當storeFile的數(shù)量達到一定程度后,就需要將 storefile 文件來進行 compaction 操作。
compaction 的作用:
合并文件
清除過期,多余版本的數(shù)據(jù)
提高讀寫數(shù)據(jù)的效率
另外可以再說下compaction的兩種方式。
HBase 中實現(xiàn)了兩種 compaction 的方式:minor and major. 這兩種 compaction 方式的區(qū)別是:
1. Minor 操作只用來做部分文件的合并操作以及包括 minVersion=0 并且設(shè)置 ttl 的過期版本清理,不做任何刪除數(shù)據(jù)、多版本數(shù)據(jù)的清理工作。
2. Major 操作是對 Region 下的HStore下的所有StoreFile執(zhí)行合并操作,最終的結(jié)果是整理合并出一個文件。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“HBase有什么優(yōu)化點”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!
當前題目:HBase有什么優(yōu)化點
本文地址:http://jinyejixie.com/article2/pshpoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、域名注冊、網(wǎng)站內(nèi)鏈、小程序開發(fā)、App設(shè)計、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)