HBase优化策略及协处理器

本文探讨了HBase的服务端优化,包括 JVM 内存分配与GC策略,以及表结构和数据存储过程的优化。重点介绍了预分区、Rowkey、Column优化等常用策略,同时提出了写入时的同步和异步批量提交、WAL优化和读取时的Scan缓存设置等读写优化方法。此外,文章还讲解了HBase的协处理器机制,包括Observer和Endpoint,强调了使用协处理器可能带来的风险。
摘要由CSDN通过智能技术生成

服务端优化

  1. 什么导致HBase性能下降

    • Jvm内存分配与GC回收策略

    • HBase运行机制相关的配置分配不合理

    • 表结构设计及用户使用方式不合理

  2. HBase数据存储过程

    • HBase写入时当memstore达到一定大小会flush到磁盘保存成HFile,当HFile小文件太多回执行compact操作进行合并(compact就是将很多小文件合并成一个大文件的过程。compact分为minor compaction和major compaction)

    • 当Region的大小达到某一阈值之后,回执行split操作

当HBase做compact和split操作时需要优化

  1. 常见服务端配置优化

    • Jvm设置与GC设置

    • hbase-site.xml部分属性配置

    属性 简介 建议
    hbase.regionserver.handler.count rpc请求的线程数量,默认值是10
    hbase.hregion.max.filesize 当region的大小大于设定值后hbase就会开始split 建议手动split
    hbase.hregion.majorcompaction major compaction的执行周期 将值设置成0,在业务低峰手动执行majorcompaction
    hbase.hstore.compaction.min 一个store里的storefile总数超过该值,会触发默认的合并操作 默认3
    hbase.hstore.compaction.max 一次合并最多合并多少个storeFile
    hbase.hstore.blockingStoreFiles 一个region中的Store(CoulmnFamily)内有超过多少个storeFile时,则block所有的写请求进行compaction
    hfile.block.cache.size regionserver的block cache的内存大小限制 在偏向读的业务
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值