以下是CentOS下HBase的性能优化技巧,涵盖客户端、服务器端、表设计及系统配置等方面:
hbase.client.scanner.caching
从默认100调至500-1000,减少RPC次数。get(List<Get>)
接口批量获取数据,降低网络开销。scan.setCacheBlocks(false)
,避免缓存污染。hbase.master.loadbalancer.class
配置负载均衡策略,避免单点过载。hfile.block.cache.size
(如设为0.4-0.6),提升读性能,读多写少场景可适当调高。hbase.regionserver.global.memstore.size
(默认0.4),控制内存占用,避免频繁flush。hbase.regionserver.compression.codec
),减少磁盘IO和网络传输。SPLITS
参数预定义Region边界,避免数据倾斜。hbase.hcolumn.max.versions
和hbase.hregion.ttl
减少无效数据存储。-Xms
和-Xmx
(如设为8-16G),选择G1 GC减少GC停顿。dfs.blocksize
(如128M-256M),减少小文件生成。vm.swappiness=0
,禁用交换分区,避免内存抖动。注意:优化前需在测试环境验证,根据业务负载(读/写比例、数据规模)动态调整参数,避免过度配置导致资源浪费或性能下降。
参考来源:[1,2,3,4,5,6,8,9,10,11]