HBase source code. HRegion

本文介绍了HBase中HRegion的配置参数,如memstore冲洗阈值、预关闭冲洗大小和最大文件大小等,以及Region状态转换过程,包括启动、故障转移和负载均衡等情况。此外,还提及了HRegion的metadata存储和Major Compaction机制。
摘要由CSDN通过智能技术生成

配置:

hbase.hregion.memstore.flush.size: 134217728

当Region的所有的memstore(意思是所有HStore的memstore的size的加总)的size超过参数设定的字节数时, 就会引发flush to disk的这个操作. 其中监听这个value是有另外一条线程在做.
hbase.hregion.percolumnfamilyflush.size.lower.bound: 16777216

当使用了FlushLargeStoresPolicy的时候, 这个参数才会起效. 意思是当Region的memstore的limit被达到的时候. 我们会找到这个Region中所有HStore中的memstore超过这个值的. 然后这些超过值的将会被flush. 其它小于这个值的不会被flush. 如果没有任何HStore的memstore超过这个值的话, 那么所有memstore都将会被flush(更默认的行为一致). 这个值的设定应该小于总memstore值的一半.

hbase.hregion.preclose.flush.size: 5242880

当要将一个region关闭的时候, 如果此时region中总memstore的size大于等于这个设定时, region会运行一个pre-flush的操作. 完成后再进行region的关闭. 这个flush会在region的close的flag下执行, 这个时间不再接受任何写操作. 如果memstore的内容比较大的话, 会花费相当的时间.

hbase.hregion.memstore.block.multiplier: 4

如果region的memstore的字节数超过这个参数乘以hbase.hregion.memstore.flush.size的字节数, 更新会被阻塞. 这个参数在写入非常繁忙的时候非常有用, 相当于确定了了一个上界. 可以防止OOME或者compaction的时间过长或者split的时间过长.

hbase.hregion.memstore.mslab.enabled: true

mslab的全称是MemStore-Local Allocation Buffer. 这是一个用来防止堆内存过于零散碎片从而导致频繁调用gc的class. 这种情况特别容易发生在重写下. 默认情况是enable.

hbase.hregion.max.filesize: 10737418240

一个region拥有的最大HFile的size. 超过这个值的region将会被split成两半.

hbase.hregion.majorcompaction: 604800000

两个major compaction的间隔的时间, 单位毫秒. 0表示关闭到达时间就自动进行major compaction的这个行为. 可以通过用户请求或者size满足这两个方面触发major compaction. 默认值是7天进行一次major compaction. 如果major compaction对程序运行有什么阻碍的话, 可以将major compaction的时间设定在非高峰时间. 或者关了时间触发, 改为人为触发或者size触发等其他触发机制. 这个参数乘以hbase.hregion.majorcompaction.jitter会导致在默认的间隔时间(7天)内随机的发生major compaction

hbase.hregion.majorcompaction.jitter: 0.50

这个参数配合上面的那个参数使用. 数字设置得越小, 就会越接近默认的major compaction时间. 意思就是major compaction发生的时间不一定是7天, 反正就是一定会发生在7天中的某一个随机时间, 这个时间的随机性由这个数字来决定.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值