以下是CentOS下HBase的配置优化建议,涵盖硬件、系统、参数及部署等方面:
vm.swappiness=0。sudo blockdev --setra 32768 /dev/sda。ulimit -n 65535。HBASE_REGIONSERVER_OPTS="-Xms32g -Xmx32g",并开启G1垃圾回收器(-XX:+UseG1GC)。hbase.regionserver.global.memstore.upperLimit=0.4(默认40%堆内存),hbase.hregion.memstore.flush.size=128m。hfile.block.cache.size=0.4(读多写少场景可设为0.6)。hbase.hregion.bloom.block.type=ROW,减少无效磁盘扫描。hbase.client.autoFlush=false,增大写缓冲区:hbase.client.write.buffer=2097152(2MB)。Put批量提交数据,减少RPC调用。hbase.hregion.compress.algo=SNAPPY,降低存储和传输开销。MD5(原始Key))。hbase shell提前创建Region,避免动态分裂导致的性能波动。hbase hbck -fixMeta和hbase hbck -fixHdfsHoles修复元数据不一致,确保Region均匀分布。hbase-regionserver.log,关注Full GC、慢查询等问题。-XX:MaxDirectMemorySize控制堆外内存,避免OOM。注意:优化需结合业务场景测试,优先在测试环境验证配置效果,避免直接在生产环境调整。
参考来源: