开发者社区 问答 正文

Memstore Flush的触发方式是什么?

Memstore Flush的触发方式是什么?

展开
收起
游客fbdr25iajcjto 2021-12-06 18:55:03 564 分享 版权
1 条回答
写回答
取消 提交回答
  • 1) Manual调用,HRegionInterface.flushRegion,可以被用户态org.apache.Hadoop.hbase.client.HBaseAdmin调用flush操作实现,该操作会直接触发HRegion的internalFlush。

    2)HRegionServer的一次更新操作,使得整个内存使用超过警戒线。

    警戒线是globalMemStoreLimit, RS_JVM_HEAPSIZE * conf.getFloat(“hbase.regionserver.global.memstore.upperLimit”),凡是超过这个值的情况,会直接触发FlushThread,从全局的HRegion中选择一个,将其MemStore刷入hdfs,从而保证rs全局的memstore容量在可控的范围。

    2021-12-06 18:55:58
    赞同 展开评论
问答地址: