lsp66

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

Linux 下 HBase 故障处理进阶

  1. 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,修复元数据不一致问题。
  2. 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覆盖修复。

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