• Hbase-14-MemStore Flush的触发时机


    Hbase MemStore Flush的触发时机

    MemStore 级别限制:

    hbase.hregion.memstore.flush.size

    默认值: 128M

    hbase.hregion.memstore.flush.size 设置Memstore的大小,默认大小是128M,当超过这个值的时候,就会触发flush。这个参数表示单个MemStore的大小的阈值。这个时候是不阻塞写操作的。

    Region 级别限制:

    hbase.hregion.memstore.block.multiplier * hbase.hregion.memstore.flush.size

    默认值:2*128

    当一个Region的MemStore总量达到hbase.hregion.memstore.block.multiplier * hbase.hregion.memstore.flush.size(默认2*128M=256M)时,会阻塞这个region的写操作,并强制刷写到HFile。触发这个刷新只会发生在MemStore即将写满128M时put了一个巨大的记录的情况,这时会阻塞写操作,强制刷新成功才能继续写入。

    RegionServer 级别限制:

    hbase.regionserver.global.memstore.upperLimit

    默认值:0.4

    当RegionServer上全部的MemStore占用超过heap(heap的大小在hbase-env.sh中设置HBASE_HEAPSIZE,默认1G,我们设置的4G)的40%时,强制阻塞所有的写操作,将所有的MemStore刷写到HFile;

    hbase.regionserver.global.memstore.lowerLimit

    默认值:0.35

    表示所有的MemStore占用超过heap的35%时,会选择一些占用内存比较大的MemStore阻塞写操作并进行flush,这是为了降低阻塞全部写操作flush带来的问题。

    hbase.regionserver.maxlogs * hbase.regionserver.hlog.blocksize

    默认值:32*64M

    当HLog达到最大值(hbase.regionserver.maxlogs * hbase.regionserver.hlog.blocksize 默认32*64M = 2G)时,也会触发MemStore的刷新,强制将更新固化到HFile中,避免在RegionServer crash时恢复时间过长。

    hbase.regionserver.optionalcacheflushinterval

    默认值:3600000

    定期会进行MemStore的刷新,hbase.regionserver.optionalcacheflushinterval 默认3600000,一小时,确保MemStore的数据不会长时间没有固化到HFile中。为避免所有的MemStore在同一时间都进行flush导致的问题,定期的flush操作有20000左右的随机延时。

    hbase(main):010:0> help 'flush'

    Flush all regions in passed table or pass a region row to

    flush an individual region. For example:

    hbase> flush 'TABLENAME'

    hbase> flush 'REGIONNAME'

    转自:http://blog.itpub.net/51862/viewspace-1062329/

    不要小瞧女程序员
  • 相关阅读:
    js画矩形
    js加载pdf截屏生成图片调用ocr识别成文字
    C#List或者Set集合相同的key合并Value的值
    Oracle学习笔记读懂执行计划(十八)
    Java 阻塞队列
    SpringMVC(三):参数绑定、输入输出转换
    springMVC(二): @RequestBody @ResponseBody 注解实现分析
    Spring Security 4.2.3 Filters 解析
    MySQL 加锁处理分析
    Innodb semi-consistent 简介
  • 原文地址:https://www.cnblogs.com/shix0909/p/15062630.html
Copyright © 2020-2023  润新知