首页主机资讯CentOS HBase如何进行故障恢复

CentOS HBase如何进行故障恢复

时间2025-12-18 17:42:03发布访客分类主机资讯浏览1187
导读:CentOS 上 HBase 故障恢复实战指南 一 快速判断与通用处置 备份当前状态:先对 HBase 数据目录与配置做一次完整拷贝,例如执行:cp -r /hbase/data /hbase/data_backup,避免恢复过程造成二次...

CentOS 上 HBase 故障恢复实战指南

一 快速判断与通用处置

  • 备份当前状态:先对 HBase 数据目录与配置做一次完整拷贝,例如执行:cp -r /hbase/data /hbase/data_backup,避免恢复过程造成二次损坏。随后再启动集群:start-hbase.sh
  • 查看进程与日志:用 jps 确认 HMaster/HRegionServer 是否在;日志默认在 $HBASE_HOME/logs/,重点查看 hbase-< user> -master-< host> .loghbase-< user> -regionserver-< host> .log
  • 检查依赖组件:确认 ZooKeeper 正常(如 echo ruok | nc localhost 2181 返回 imok),确认 HDFS 不在安全模式(hadoop dfsadmin -safemode get,如在安全模式执行 hadoop dfsadmin -safemode leave)。
  • 连通性与权限:若 HMaster Web UI(16010) 打不开,排查防火墙与绑定地址;必要时放行端口: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)。

二 常见故障与恢复步骤

  • HMaster 故障
    1. 确认 ZooKeeper 正常;2) 重启 Master:$HBASE_HOME/bin/hbase-daemon.sh start master;3) 若仍异常,查看日志定位(如无法从 ZK 获取地址、权限问题等),必要时修正配置与权限后重启整个集群。
  • RegionServer 宕机
    1. 确认 ZooKeeper/HDFS 正常;2) 重启故障节点:$HBASE_HOME/bin/hbase-daemon.sh start regionserver;3) 观察 Master UI 的 Regions in Transition 是否收敛;4) 负载较高时临时关闭均衡器:balance_switch false,恢复后 balance_switch true 并手动触发均衡 balancer
  • 数据/元数据不一致
    1. 使用 hbck 检测与修复:/hbase/bin/hbck -repair;2) 若存在“表在 ZooKeeper 有 znode 但 hbase:meta 不存在”的不一致,可在 zkCli.sh 中清理残留 znode(如 rmr /hbase/table/< table> ),再重启集群;3) 修复后再次用 hbck 校验。
  • “Master is initializing” 长时间不就绪
    1. 检查 ZooKeeper/hbase 元数据是否损坏或残留;2) 检查 HDFS/hbase 目录健康;3) 在确认可丢弃的前提下,清理 ZK 与 HDFS 的 /hbase 目录后重启(会触发重新初始化,谨慎操作)。
  • “no hbase master found”
    1. jps 确认 HMaster 是否存活;2) 检查 ZooKeeper 连通性与根 znode;3) 核对 hbase.zookeeper.quorumhbase.rootdir 等关键配置;4) 重启 HMaster 并再次通过 hbase shell 验证。

三 常用命令清单

  • 进程与启停:jpsstart-hbase.shstop-hbase.sh$HBASE_HOME/bin/hbase-daemon.sh start|stop master|regionserver
  • 连通与健康:echo ruok | nc localhost 2181hadoop dfsadmin -safemode get|leave
  • 一致性修复:/hbase/bin/hbck -repair
  • 负载均衡:balance_switch true|falsebalancer
  • 元数据校验与修复:/hbase/bin/hbck -fixMeta -fixAssignments
  • Shell 验证:hbase shellstatus 'simple'scan 'your_table_name'

四 预防与加固建议

  • 运行与权限:统一以 hadoop 等专用用户运行 HBase/HDFS/ZooKeeper,并校准目录权限(如 chown -R hadoop:hadoop /path/hbase)。
  • 网络与端口:在 CentOS 放行 16010(Master Web UI)与相关端口,或按需配置安全组与防火墙策略。
  • 配置正确性:确保 hbase-site.xmlhbase.master.info.bindAddresshbase.rootdirhbase.zookeeper.quorum 等配置准确,避免回环地址与错误 quorum 导致寻址失败。
  • 高可用与监控:部署 多 Master 与多 RegionServer,并持续监控 HMaster/RegionServer 状态、ZK 会话与 HDFS 健康,异常及时告警与处置。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS HBase如何进行故障恢复
本文地址: https://pptw.com/jishu/775290.html
CentOS HBase如何进行数据同步 HBase数据迁移策略在CentOS上怎么制定

游客 回复需填写必要信息