lsp66

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux 下 HBase 性能优化与运维

  1. 系统层面优化
    文件描述符限制:HBase 需要大量文件描述符,修改/etc/security/limits.conf:
  • soft nofile 65535
  • hard nofile 65535
  • soft nproc 65535
  • hard nproc 65535
    生效:ulimit -n 65535(临时),重启会话永久生效。
    禁用 swap:避免内存交换导致性能下降:
    swapoff -a # 临时禁用

永久禁用:注释/etc/fstab中swap分区行

磁盘 IO 优化:使用 SSD 或 RAID 阵列,挂载时添加noatime(禁用文件访问时间记录):
/dev/sdb1 /data/hbase ext4 defaults,noatime 0 0
2. HBase 配置优化
Region 大小:默认 10GB,根据业务调整hbase-site.xml:
xml

hbase.regionserver.region.split.policy.sizeBasedSplitPolicy
10737418240

缓存配置:调整 RegionServer 堆内存(hbase-env.sh),建议堆内存不超过 32GB(避免 JVM GC 问题):
export HBASE_HEAPSIZE=16G # RegionServer堆内存
export HBASE_MASTER_HEAPSIZE=4G # Master堆内存
预分区:创建表时预分区,避免热点和后期频繁分裂:
create 't1', 'f1', {SPLITS => ['1', '2', '3', '4', '5']}
3. 常见问题排查(Linux 环境)
RegionServer 宕机:
查看日志:grep "ERROR" $HBASE_HOME/logs/hbase-xxx-regionserver-xxx.log;
检查内存:free -h(是否 OOM),查看 OOM 日志:grep "OutOfMemoryError" logs/*;
检查 ZK 连接:zkCli.sh -server zk-node:2181,查看/hbase节点是否正常。
写入性能低:
检查磁盘 IO:iostat -x 1(% util 接近 100% 说明 IO 瓶颈);
调整写入缓冲区:hbase-site.xml中增大hbase.hregion.memstore.flush.size(默认 128MB);
开启批量写入:客户端使用putList批量提交。

posted on 2026-01-03 13:51  李世鹏66  阅读(3)  评论(0)    收藏  举报