以下是在Ubuntu系统中优化HBase性能的关键技巧,涵盖硬件、配置、表设计及监控等方面:
dfs.replication
)为2-3,平衡冗余与存储成本。-Xms
/-Xmx
)建议设为16-32GB,避免频繁GC。hbase.bucketcache.ioengine=offheap
启用堆外缓存减少GC压力。hbase.hregion.memstore.flush.size
(默认128MB)和hbase.regionserver.global.memstore.size
(默认0.4),避免频繁刷写。hbase.wal.provider=AsyncFSWALProvider
)降低写入延迟。hbase.bucketcache.ioengine=offheap
)并设置为堆外内存,搭配LRUBlockCache提升缓存命中率。BLOOMFILTER=ROW
/ROWCOL
),减少无效磁盘扫描。hbase.hstore.compaction.min
(默认3),减少小文件合并频率;启用分层合并(Tiered Compaction)降低资源消耗。reverse(timestamp)
)或哈希前缀分散写入压力。hbase.hregion.max.filesize
(默认10GB)合理设置Region分裂阈值,避免单Region过大。-XX:+UseG1GC
),小内存(≤8GB)使用CMS(-XX:+UseConcMarkSweepGC
),减少Full GC停顿。-XX:NewRatio=2
),优化对象分配效率。ulimit -n 65535
),避免高并发下文件句柄不足。hbase-regionserver.log
,定位慢查询或异常GC问题。hbase.regionserver.handler.count
(默认10),提高并发处理能力。参考来源: