在 CentOS 上对 HBase 进行负载均衡
一 前置检查与集群健康
start-hbase.sh。hbase shell 中执行 status 'simple',确认所有 RegionServer 已注册且 Region 数量大致均衡。二 启用与配置内置均衡器
$HBASE_HOME/conf/hbase-site.xml 中设置均衡器与相关参数。示例:<configuration>
<!-- 指定均衡器(默认即为 StochasticLoadBalancer) -->
<property>
<name>hbase.master.loadbalancer.class</name>
<value>org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer</value>
</property>
<!-- 均衡器运行周期(毫秒),默认 300000(5 分钟) -->
<property>
<name>hbase.master.loadbalancer.period</name>
<value>60000</value>
</property>
<!-- 每次均衡最大移动 Region 数,默认 5 -->
<property>
<name>hbase.master.loadbalancer.maxRegionMoves</name>
<value>10</value>
</property>
<!-- 可选:提升并发处理能力 -->
<property>
<name>hbase.regionserver.handler.count</name>
<value>100</value>
</property>
</configuration>
hbase-daemon.sh stop master && hbase-daemon.sh start master。三 运行与验证负载均衡
hbase shell 中执行 balance_switch true。hbase balancer(等效于在 Shell 中执行 balancer 命令)。status 'simple' 或查看 HBase Web UI 的 Region 分布;若影响业务,可 balance_switch false 暂停。四 进阶优化与运维建议
hbase.master.loadbalancer.period(控制均衡频率)与 hbase.master.loadbalancer.maxRegionMoves(控制单次移动上限),在“收敛速度”与“业务扰动”之间取得平衡。split 'your_table_name', 'your_cf:your_qualifier'。五 常见误区与提示
maxRegionMoves。hbase.master.loadbalancer.class 后需重启 HMaster;仅调整 period、maxRegionMoves 等通常动态生效。