CentOS 上 HBase 故障恢复实战指南
一 快速判断与通用处置
cp -r /hbase/data /hbase/data_backup,避免恢复过程造成二次损坏。随后再启动集群:start-hbase.sh。jps 确认 HMaster/HRegionServer 是否在;日志默认在 $HBASE_HOME/logs/,重点查看 hbase-<user>-master-<host>.log 与 hbase-<user>-regionserver-<host>.log。echo ruok | nc localhost 2181 返回 imok),确认 HDFS 不在安全模式(hadoop dfsadmin -safemode get,如在安全模式执行 hadoop dfsadmin -safemode leave)。firewall-cmd --permanent --add-port=16010/tcp && firewall-cmd --reload,并在 hbase-site.xml 设置 hbase.master.info.bindAddress=0.0.0.0;同时核对 HDFS 权限与运行用户一致性(如 chown -R hadoop:hadoop /path/hbase)。二 常见故障与恢复步骤
$HBASE_HOME/bin/hbase-daemon.sh start master;3) 若仍异常,查看日志定位(如无法从 ZK 获取地址、权限问题等),必要时修正配置与权限后重启整个集群。$HBASE_HOME/bin/hbase-daemon.sh start regionserver;3) 观察 Master UI 的 Regions in Transition 是否收敛;4) 负载较高时临时关闭均衡器:balance_switch false,恢复后 balance_switch true 并手动触发均衡 balancer。/hbase/bin/hbck -repair;2) 若存在“表在 ZooKeeper 有 znode 但 hbase:meta 不存在”的不一致,可在 zkCli.sh 中清理残留 znode(如 rmr /hbase/table/<table>),再重启集群;3) 修复后再次用 hbck 校验。jps 确认 HMaster 是否存活;2) 检查 ZooKeeper 连通性与根 znode;3) 核对 hbase.zookeeper.quorum、hbase.rootdir 等关键配置;4) 重启 HMaster 并再次通过 hbase shell 验证。三 常用命令清单
jps;start-hbase.sh;stop-hbase.sh;$HBASE_HOME/bin/hbase-daemon.sh start|stop master|regionserverecho ruok | nc localhost 2181;hadoop dfsadmin -safemode get|leave/hbase/bin/hbck -repairbalance_switch true|false;balancer/hbase/bin/hbck -fixMeta -fixAssignmentshbase shell → status 'simple';scan 'your_table_name'四 预防与加固建议
chown -R hadoop:hadoop /path/hbase)。hbase-site.xml 中 hbase.master.info.bindAddress、hbase.rootdir、hbase.zookeeper.quorum 等配置准确,避免回环地址与错误 quorum 导致寻址失败。