触发flush操作的条件:
1)region中所有MenStore占用的内存超过相关阈值
当一个region中所有MenStore占用的内存大小超过刷写阈值,会触发一次刷写,hbase.hregion.memstore.flush.size 默认值为128M。我们每次调用put、delete都会去检查这个值。
如果我们的数据增加的很快,达到了 hbase.hregion.memstore.flush.size * hbase.hregion.memstore.block.multiplier 的大小,hbase.hregion.memstore.block.multiplier 默认值为4,也就是128*4=512MB的时候,除了触发MenStore的flush操作外,还会阻塞所有写入该Store的写操作。