MemStore flush的触发条件

1、当一个Region中的某个MemStore的大小达到128M(hbase.heregion.memstore.flush.size的默认值),那么整个Region中的所有MemStore都会flush

2、当一个Region中的所有MemStore的大小达到128 * 4 (4为hbase.hregion.memstore.block.multiplier的默认值)时,整个Region中的所有MemStore都会flush

3、当RegionServer中所有MemStore的总大小达到 10G * 40% * 95%时(其中10G为虚拟机内存大小,即java_heapsize,hbase.regionserver.global.memstore.size的默认值为0.4,hbase.regionserver.global.memstore.size.lower.limit的默认值为95%),在flush的时候,会根据每个MemStore占用的空间进行排序,优先flush占用空间多的MemStore。注意:当写入的并发操作比较多的时候,以上触发操作会延迟,MemStore总大小达到 10G * 40%时,强制flush,总大小小于10G * 40% * 95% 时停止flush,所以尽量把这个参数调小一点(75%-85%),避免释放的内存太小,频繁flush

4、当HLog文件数量达到32个(hbase.regionserver.maxlogs默认值为32)的时候会flush

5、Region距上一次flush超过一小时会自动flush(定期刷写,hbase.regionserver.optionalcacheflushinterval默认为1小时)

6、手动刷写,flush命令:flush table,flush regionname

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值