服务端优化
什么导致HBase性能下降
Jvm内存分配与GC回收策略
HBase运行机制相关的配置分配不合理
表结构设计及用户使用方式不合理
HBase数据存储过程
HBase写入时当memstore达到一定大小会flush到磁盘保存成HFile,当HFile小文件太多回执行compact操作进行合并(compact就是将很多小文件合并成一个大文件的过程。compact分为minor compaction和major compaction)
当Region的大小达到某一阈值之后,回执行split操作
当HBase做compact和split操作时需要优化
常见服务端配置优化
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的内存大小限制 在偏向读的业务