91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase有什么優化點

發布時間:2021-12-08 14:31:44 來源:億速云 閱讀:142 作者:小新 欄目:大數據

這篇文章主要介紹了HBase有什么優化點,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

HBase 有哪些優化點?

這是個相對開放的問題,問題沒有那么得細,面對這種問題千萬不要亂了陣腳,其實這種問題答得好是很加分的,可以從幾個不同的方向來回答,這樣顯得有條理,而且可以向面試官展現你的多維度思考和總結的能力。

兩個角度,一個從使用者的角度,一個從維護者的角度。

1. 從使用者的角度,可以優化存儲模型的設計,包括以下幾個方面:

rowkey設計:高位用散列,長度不宜過長,可以適當地把需要檢索的條件拼接在rowkey里。查詢時盡量用get,scan時要指定start/end key。

列族的設計:列族盡量少,且不同列族的數據量要盡量均勻。

列族盡量少是因為列族對應的底層存儲的一個文件目錄,文件目錄少有助于提高文件檢索速度。

數據量要均勻是因為,當一個cf量大到一定程度,memstore會刷盤,而刷盤這個動作不是只針對單個cf,而是整個服務器,這個時候如果另一個cf的數據量很小那也會跟著刷盤,這就造成了會有大量小文件生成,HDFS是最忌諱小文件的,同時小文件的過多也會影響檢索的效率,需要從多個文件中檢索目標。

預分區:在寫比較頻繁的場景下,數據增長太快,split的次數也會增多,額外的資源消耗也會增大,另外數據分布不均勻會造成熱點問題,這些都是需要預分區的原因。

2. 從系統維護者的角度來說,可以對系統優化,包括以下幾個方面:

內存優化:HBase有兩塊主要的內存memstore和blockCache的配置

BlockCache,如果寫比讀少很多,可以開到0.4-0.5。如果讀寫較均衡,0.3左右。如果寫比讀多,就默認0.2。設置這個值的時候,也要參考hbase.regionserver.global.memstore.upperLimit,該值是memstore占heap的最大百分比,兩個參數一個影響讀,一個影響寫。如果兩值加起來超過80-90%,會有OOM的風險。具體就不說了,看我之前的文章 HBase篇(4)-你不知道的HFile

GC優化:默認cms,可以優化為G1。

壓縮:默認未開啟,建議使用Snappy和LZO,壓縮比,壓縮解壓速率,資源消耗都是比較平衡的。

BloomFilter:默認未開啟,需要在建立表的時候加入。用布隆過濾可以節省讀磁盤過程,可以有助于降低讀取延遲。具體就不說了看我之前的文章 HBase篇(5)- BloomFilter

其實還有一些其他零零散散的點,就不說了,說這么多對于這個問題來說已經回答地很完美了。說這些的過程中的某些點面試官很有可能是會追問下去的,比如內存優化,bloomfilter等,所以可以看得深入一點,回答的時候也能更加從容一點。


HRegionServer宕機后系統是怎么保證可用性的 ?  

宕機恢復的過程也是面試中的常見問題,重點是wal機制。

1. ZooKeeper會監控HRegionServer的上下線情況,當ZK發現某個HRegionServer宕機之后會通知HMaster進行失效備援;

2. 該HRegionServer會停止對外提供服務,就是它所負責的region暫時停止對外提供服務

3. HMaster會將該HRegionServer所負責的region轉移到其他HRegionServer上,并且會對HRegionServer上存在memstore中還未持久化到磁盤中的數據進行恢復

4. 這個恢復的工作是由WAL重播來完成,這個過程如下:

  • wal實際上就是一個文件,存在/hbase/WAL/對應RegionServer路徑下。

  • 宕機發生時,讀取該RegionServer所對應的路徑下的wal文件,然后根據不同的region切分成不同的臨時文件recover.edits。

  • 當region被分配到新的RegionServer中,RegionServer讀取region時會進行是否存在recover.edits,如果有則進行恢復。


說說HBase 的 compaction 過程和作用?

在hbase中每當有memstore數據flush到磁盤之后,就形成一個storefile,當storeFile的數量達到一定程度后,就需要將 storefile 文件來進行 compaction 操作。

compaction 的作用:

  • 合并文件

  • 清除過期,多余版本的數據

  • 提高讀寫數據的效率

另外可以再說下compaction的兩種方式。

HBase 中實現了兩種 compaction 的方式:minor and major. 這兩種 compaction 方式的區別是:

1. Minor 操作只用來做部分文件的合并操作以及包括 minVersion=0 并且設置 ttl 的過期版本清理,不做任何刪除數據、多版本數據的清理工作。

2. Major 操作是對 Region 下的HStore下的所有StoreFile執行合并操作,最終的結果是整理合并出一個文件。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“HBase有什么優化點”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澄迈县| 铜川市| 淮安市| 华坪县| 黄浦区| 双桥区| 包头市| 股票| 平邑县| 神木县| 松潘县| 海南省| 裕民县| 景洪市| 平顺县| 永康市| 桂阳县| 蒲城县| 安宁市| 永胜县| 应城市| 河源市| 寿光市| 建平县| 甘德县| 开原市| 长春市| 体育| 米林县| 陇南市| 革吉县| 岑溪市| 桐城市| 南皮县| 荆门市| 兴化市| 宾阳县| 财经| 峡江县| 洛川县| 佛学|