Hbase学习笔记(四)——存储的三个机制(Flush、Compact、Split)

本文详细介绍了Hbase的三个关键存储机制:Flush、Compact和Split。Flush是在MemStore达到128MB或所有Memstore内存使用率达到40%时将数据异步写入HDFS。Compact通过合并小的Storefile以清理过期数据并减少文件数量,分为Minor和Major两种类型。Split则在region的Storefile大小达到10GB时进行,将region分裂为两个新的region。对于这些操作,建议在实际工作中适当调整阈值或手动执行以避免对业务造成影响。
摘要由CSDN通过智能技术生成

Hbase——存储的三个机制

一、Flush

当MemStore中的数据量达到阈值,就将数据Flush到HDFS中,以Storefile形式存储。

  • 触发条件
  1. 当某个store中的memstore的存储达到 128M

    hbase.hregion.memstore.flush.size = 134217728

  2. 当整个region所使用的Memstore的内存大小达到阈值

    hbase.regionserver.global.memstore.upperLimit = 0.4
    这个参数的作用是当单个HRegion内所有的Memstore大小总和超过指定值时,flush该HRegion的所有memstore。RegionServer的flush是通过将请求添加一个队列,模拟生产消费模式来异步处理的。那这里就有一个问题,当队列来不及消费,产生大量积压请求时,可能会导致内存陡增,最坏的情况是触发OOM。

    hbase.regionserver.global.memstore.lowerLimit = 0.38
    当MemStore使用内存总量达到hbase.regionserver.global.memstore.lowerLimit指定值时,将会有多个MemStores flush到文件中,MemStore flush 顺序是按照大小降序执行的,直到刷新到MemStore使用内存略小于lowerLimit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值