You can tune garbage collection in HBase RegionServers for stability,
because a RegionServer cannot utilize a very large heap due to the cost of garbage
collection. Administrators should specify no more than 24 GB for one RegionServer.
-
Specify the following configurations in the
HBASE_REGIONSERVER_OPTS
configuration option in the
/conf/hbase-env.sh.
-XX:+UseConcMarkSweepGC
-Xmn2500m (depends on MAX HEAP SIZE, but should not be less than 1g and more than 4g)
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:SurvivorRatio=4
-XX:CMSInitiatingOccupancyFraction=50
-XX:+UseCMSInitiatingOccupancyOnly
-XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-
Ensure that the block cache size and the MemStore size combined do not
significantly exceed
0.5*MAX_HEAP
, which is defined in the
HBASE_HEAP_SIZE
configuration option of the
/conf/hbase-env.sh file.