hbase2.0.3 內(nèi)存規(guī)劃

讀多寫少

由于業(yè)務(wù)場景的需要,我們hbase偏讀多寫少的,雖然hbase讀的速度會慢于寫的速度。搭建hbase集群,需要做一些基礎(chǔ)的配置,盡量讓hbase能有一個不錯的表現(xiàn),其中內(nèi)存規(guī)劃工作占了很大的比例。

機器64G內(nèi)存


注意

LRUBlockCache + MemStore < 80% * JVM_HEAP

hbase配置

-Xmx32g -Xms32g -Xmn1g -Xss256k -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
-XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection  -XX:+UseCMSInitiatingOccupancyOnly        
-XX:CMSInitiatingOccupancyFraction=75 -XX:-DisableExplicitGC

<property>
    <name>hbase.regionserver.global.memstore.upperLimit</name>
    <value>0.60</value>
</property>
<property>
    <name>hbase.regionserver.global.memstore.lowerLimit</name>
    <value>0.55</value>
</property>
<property>
    <name>hfile.block.cache.size</name>
    <value>0.19</value>
</property>
<property>
    <name>hbase.bucketcache.ioengine</name>
    <value>offheap</value>
</property>
<property>
    <name>hbase.bucketcache.size</name>
    <value>24576</value>
</property>
<property>
    <name>hbase.bucketcache.percentage.in.combinedcache</name>
    <value>0.90</value>
</property>

機器96G內(nèi)存

我們線上是96G的機器,內(nèi)存規(guī)劃如下。

hbase配置

export HBASE_HEAPSIZE=32768
#export master_heapsize=65536
export regionserver_heapsize=50176
export HBASE_REGIONSERVER_OPTS="-Xmx49g -Xms49g -Xmn2g -Xss256k -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled  -XX:+UseCMSCompactAtFullCollection  -XX:+UseCMSInitiatingOccupancyOnly  -XX:CMSInitiatingOccupancyFraction=75 -XX:-DisableExplicitGC"
<property>
    <name>hbase.regionserver.global.memstore.upperLimit</name>
    <value>0.60</value>
</property>
<property>
    <name>hbase.regionserver.global.memstore.lowerLimit</name>
    <value>0.55</value>
</property>
<property>
    <name>hfile.block.cache.size</name>
    <value>0.19</value>
</property>
<property>
    <name>hbase.bucketcache.ioengine</name>
    <value>offheap</value>
</property>
<property>
    <name>hbase.bucketcache.size</name>
    <value>39936</value>
</property>
<!-- 用于緩存用戶數(shù)據(jù)塊的內(nèi)存(堆外內(nèi)存)占所有讀緩存的比例,設(shè)為0.90 -->
<property>
    <name>hbase.bucketcache.percentage.in.combinedcache</name>
    <value>0.90</value>
</property>







作者:柯廣的網(wǎng)絡(luò)日志

微信公眾號:Java大數(shù)據(jù)與數(shù)據(jù)倉庫