1. 程式人生 > >hbase內存規劃(讀多寫少型和寫多讀少型)

hbase內存規劃(讀多寫少型和寫多讀少型)

介紹 讀寫 包括 技術分享 image mark color heap cti

//簡單說來主要包括讀多寫少型和寫多讀少型),內存的相關配置卻完全不同。

1、針對不同應用場景,對多種工作模式下的參數進行詳細說明,並結合相關示例對集群規劃中最核心模塊-內存規劃進行介紹。
2、HBase中內存規劃直接涉及讀緩存BlockCache、寫緩存MemStore,影響系統內存利用率、IO利用率等資源以及讀寫性能等,重要性不言而喻。
3、主要配置也是針對BlockCache和MemStore進行,
4、然而針對不同業務類型(簡單說來主要包括讀多寫少型和寫多讀少型),內存的相關配置卻完全不同。
5、再者,對於讀緩存BlockCache,線上一般會有兩種工作模式:LRUBlockCache和BucketCache,不同工作模式下的相關配置也不盡相同。

6、為了比較完整的說明不同應用場景以及不同緩存工作模式的內存規劃,下文會分分別介紹兩個案列:讀多寫少型+BucketCache,寫多讀少型+LRUBlockCache。

提示:
1、需要說明的是,業務類型和讀緩存工作模式之間沒有任何直接的關聯。
2、業務到底使用BucketCache還是使用LRUBlockCache,只和分配給RegionServer的內存大小有關。
3、一般而言,如果HBASE_HEAPSIZE > 20G,選擇BucketCache,否則選擇LRUBlockCache(參考hortonworks文檔),
//註意在cdh中的hbase默認都是bucketcache緩存機制。

案例一:寫多讀少型 + LRUBlockCache //必須見博客,此處筆記做的不詳細

LRUBlockCache模式下的內存分布圖
技術分享圖片
圖中分配給RegionServer進程的內存就是JVM內存,主要分為三部分:LRUBlockCache,用於讀緩存;MemStore,用於寫緩存;Other,用於RS運行所必須的其他對象;

參考鏈接:
HBase最佳實踐-內存規劃 http://hbasefly.com/2016/06/18/hbase-practise-ram/ ***** //必須見博客

hbase內存規劃(讀多寫少型和寫多讀少型)