以下是HBase在CentOS上的内存管理技巧:
vm.swappiness=0,避免内存不足时频繁使用磁盘交换。hbase-env.sh设置HBASE_HEAPSIZE(建议不超过物理内存的80%),并启用G1 GC(-XX:+UseG1GC)减少Full GC停顿。hfile.block.cache.size:控制读缓存占比(默认0.4,可根据读写比例调整,读多写少时可增大至0.5-0.7)。hbase.regionserver.global.memstore.size:控制写缓存占比(默认0.4,高写入场景可设为0.5-0.6)。hbase.bucketcache.ioengine=offheap,将部分BlockCache移至堆外,减少GC压力。hbase.regionserver.handler.count(默认30),根据CPU核心数增加线程数(建议设置为CPU核数的2-3倍)。hbase.client.write.buffer)和批量读取,减少RPC调用次数。hbase.regionserver.compression.type=snappy),降低存储和传输开销。hbase hbck工具修复不一致元数据。参考来源:[1,2,3,4,5,6,7,8,9,10,11]