Linux 下 HBase 故障处理进阶
- Master 节点故障
手动切换 Master:
停止故障 Master:hbase-daemon.sh stop master;
在备用 Master 节点启动:hbase-daemon.sh start master;
验证:jps查看 HMaster 进程,Web UI 确认新 Master 接管。
Master 无法启动排查:
检查 ZK 锁:zkCli.sh -server zk-node:2181,删除/hbase/master临时节点(故障残留锁):rmr /hbase/master;
检查 HDFS 权限:hdfs dfs -ls /hbase,确保 hbase 用户有读写权限;
检查元数据:hbase hbck,修复元数据不一致问题。 - RegionServer 假死 / 无响应
强制下线 RegionServer:
在Master节点执行,手动下线无响应的RegionServer
hbase shell> unassign 'regionServer主机名,端口,时间戳'
或直接杀死进程(Linux)
kill -9 $(pgrep -f HRegionServer)
RegionServer 重启后数据恢复:
查看$HBASE_HOME/data目录下的 WAL(预写日志):HBase 会自动回放 WAL 恢复未持久化数据;
手动回放 WAL(极端情况):hbase wal replay /hbase/WALs/xxx.wal。
3. 数据损坏修复
HDFS 块损坏:
检查 HDFS 健康状态:hdfs fsck /hbase;
修复损坏块:hdfs fsck /hbase -repair;
若无法修复,从备份(快照 / 导出数据)恢复。
单条数据损坏:通过delete命令删除损坏行,或用put覆盖修复。
浙公网安备 33010602011771号