以下是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]