Select the RegionServer scope and do the following:
Set BucketCache IOEngine to
offheap
.Update the value of BucketCache Size according to the required BucketCache size.
When you set the BucketCache Size, Cloudera Manager automatically sets the
-XX:MaxDirectMemorySize
JVM option for the RegionServers.Cloudera Manager automatically adds the JVM option
-XX:MaxDirectMemorySize=<size>
replacing <size> with a value not smaller than the off-heap BucketCache, expressed as a number of gigabytes + around 1GB used for HDFS short circuit read. For example, if the off-heap BucketCache is 16GB and the heap size is 15GB, the total value of MaxDirectMemorySize could be 32G:-XX:MaxDirectMamorySize=32G
.
Optionally, when combined BucketCache is in use, you can decrease the heap size ratio allocated to the L1 BlockCache, and increase the Memstore size. The on-heap BlockCache only stores indexes and Bloom filters, the actual data resides in the off-heap BucketCache. A larger Memstore is able to accommodate more write request before flushing them to disks.
Decrease HFile Block Cache Size to
0.3
or0.2
.Increase Maximum Size of All Memstores in RegionServer to
0.5
or0.6
respectively
https://docs.cloudera.com/runtime/7.2.18/configuring-hbase/topics/hbase-configure-offheap-bucketcache-cm.html