hbase 写操作参数优化

本文详细介绍了HBase的写操作参数优化,包括客户端的autoflush和writebuffer设置,以及服务端的region.max.filesize、memstore相关参数、hbase.hstore.blockingStoreFiles和hbase.regionserver.handler.count等。通过调整这些参数,可以有效控制内存使用,平衡读写性能,防止系统split操作,并优化响应时间。
摘要由CSDN通过智能技术生成

一,客户端client

1,  autoflush 设置 false

2, client writebuffer(默认2M) 大小设置,客户端缓存,减少服务端rpc调用次数


二,服务端hregionserver

       1. region.max.filesize 大小设置,防止系统split操作

     

      2,hbase.regionserver.global.memstore.upperLimit/lowerLimit

默认值:0.4/0.35
upperlimit说明:hbase.hregion.memstore.flush.size 这个参数的作用是当单个Region内所有的memstore大小总和超过指定值时,flush该region的所有memstore。RegionServer的flush是通过将请求添加一个队列,模拟生产消费模式来异步处理的。那这里就有一个问题,当队列来不及消费,产生大量积压请求时,可能会导致内存陡增,最坏的情况是触发OOM。
这个参数的作用是防止内存占用过大,当ReigonServer内所有region的memstores所占用内存总和达到heap的40%时,HBase会强制block所有的更新并flush这些region以释放所有memstore占用的内存。
lowerLimit说明: 同upperLimit,只不过lowerLimit在所有region的memstores所占用内存达到Heap的35%时,不flush所有的memstore。它会找一个memstore内存占用最大的region,做个别flush,此时写更新还是会被block。lowerLimit算是一个在所有region强制flush导致性能降低前的补救措施。在日志中,表现为 “** Flush thread woke up with memory above low water.”

调优:这是一个Heap内存保护参数,默认值已经能适用大多数场景。
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值