Hbase+Spring boot实战分布式文件存储-第4章-HBase的优化策略

本文详细介绍了HBase的服务端优化策略,包括JVM与配置调整、Region分裂与Compact操作的管理。此外,还探讨了HBase的读写优化,如批量提交、WAL优化和客户端Scan缓存设置。最后,简要介绍了HBase的协处理器机制,如Observer和Endpoint在数据安全和计算场景的应用。
摘要由CSDN通过智能技术生成

4-1 HBase优化策略一:服务端优化策略

什么会导致HBase的性能下降
1.JVM内存分配与GC回收策略
这个是大部分java应用程序都会遇到的问题,这里不再阐述
2.与HBase运行机制相关的部分配置不合理
HBase写入时当memstore达到一定的大小会flush到磁盘保存成HFile,当HFile小文件太多会执行compact操作进行合并,对HBase来说,当每一个store只包含一个HFile时,查询效率才是最大的。如果小文件太多的话,查询的时候需要的寻址时间就会越长,因此HBase会通过合并已有的HFile来减少每次磁盘读取数据的寻道时间,从而提高读写速度,这个合并的过程叫做compact,在执行过程compact的过程中,就会阻塞数据的写入和读取。所以进行compact的时机就会很重要,要选择哪些文件,选择哪种线程池才能达到最大的性能,是一个很重要的决策。
当Region的大小达到一定的阈值时会执行split操作,分配到不同的RegionServer进行管理,这个操作也非常消耗资源,可能会导致当前的Region不能读取也不能写入。
上述引出了compact的概念
minor compaction:选取一些小的、相邻的 StoreFile 各他们合并成一个更大的 StoreFile (这里的StoreFile就是HFile),合并的关键是选择哪些StoreFile进行合并,一次合并几个文件。
major compaction:将所有的 StoreFile 合并成一个 StoreFile,清理无意义数据:被删除的数据、 TTL 过期数据、版本号超过设定版本号的数据。这个过程对资源的消耗更大,是调优的重点。
spilt:当一个region达到一定的大小就会自动split成两个region。
HBase Compact检查
MemStore被fluh到磁盘
用户至此那个shell命令conpact,major compact或者调用了相应的API
HBase后台线程周期性触发检查
Hbase优化策略
常见服务端配置优化
JVM设置和GC设置
适当的增加RegionServer的内存,可以避免full FC,对各种block cache 也会很好的支持
hbase-site.xml部分属性配置
重要的属性如下
常见优化策略
HBase读写性能优化

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值