Hi all,

The default size of Hbase.hregion.memstore.flush.size is define as 128 MB for 
Hbase.hregion.memstore.flush.size. Could anyone kindly explain what would be 
the impact if we increase this to a higher value 512 MB or 800 MB or higher.

We have a very write heavy cluster. Also we run periodic end point co processor 
based jobs that operate on the data written in the last 10-15 mins, every 10 
minute. We are trying to manage the memstore flush operations such that the hot 
data remains in memstore for at least 30-40 mins or longer, so that the job 
hits disk every 3rd or 4th time it tries to operate on the hot data (it does 
scan). 

We have region server heap size of 20 GB and set the,

hbase.regionserver.global.memstore.lowerLimit = .45
hbase.regionserver.global.memstore.upperLimit = .55

We observed that if we set the Hbase.hregion.memstore.flush.size=128MB only 10% 
of the heap is utilized by memstore, after that memstore flushes.

At Hbase.hregion.memstore.flush.size=512MB, we are able to increase the heap 
utelization to by memstore to 35%. 

It would be very helpful for us to understand the implication of higher 
Hbase.hregion.memstore.flush.size  for a long running cluster. 

Thanks,
Gautam

Reply via email to