CentOS HBase如何进行故障恢复
导读: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> .log与hbase-< 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 故障
- 确认 ZooKeeper 正常;2) 重启 Master:
$HBASE_HOME/bin/hbase-daemon.sh start master;3) 若仍异常,查看日志定位(如无法从 ZK 获取地址、权限问题等),必要时修正配置与权限后重启整个集群。
- 确认 ZooKeeper 正常;2) 重启 Master:
- RegionServer 宕机
- 确认 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。
- 确认 ZooKeeper/HDFS 正常;2) 重启故障节点:
- 数据/元数据不一致
- 使用 hbck 检测与修复:
/hbase/bin/hbck -repair;2) 若存在“表在 ZooKeeper 有 znode 但 hbase:meta 不存在”的不一致,可在zkCli.sh中清理残留 znode(如rmr /hbase/table/< table>),再重启集群;3) 修复后再次用hbck校验。
- 使用 hbck 检测与修复:
- “Master is initializing” 长时间不就绪
- 检查 ZooKeeper 中 /hbase 元数据是否损坏或残留;2) 检查 HDFS 上 /hbase 目录健康;3) 在确认可丢弃的前提下,清理 ZK 与 HDFS 的 /hbase 目录后重启(会触发重新初始化,谨慎操作)。
- “no hbase master found”
- 用
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|regionserver - 连通与健康:
echo ruok | nc localhost 2181;hadoop dfsadmin -safemode get|leave - 一致性修复:
/hbase/bin/hbck -repair - 负载均衡:
balance_switch true|false;balancer - 元数据校验与修复:
/hbase/bin/hbck -fixMeta -fixAssignments - Shell 验证:
hbase shell→status 'simple';scan 'your_table_name'
四 预防与加固建议
- 运行与权限:统一以 hadoop 等专用用户运行 HBase/HDFS/ZooKeeper,并校准目录权限(如
chown -R hadoop:hadoop /path/hbase)。 - 网络与端口:在 CentOS 放行 16010(Master Web UI)与相关端口,或按需配置安全组与防火墙策略。
- 配置正确性:确保
hbase-site.xml中hbase.master.info.bindAddress、hbase.rootdir、hbase.zookeeper.quorum等配置准确,避免回环地址与错误 quorum 导致寻址失败。 - 高可用与监控:部署 多 Master 与多 RegionServer,并持续监控 HMaster/RegionServer 状态、ZK 会话与 HDFS 健康,异常及时告警与处置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS HBase如何进行故障恢复
本文地址: https://pptw.com/jishu/775290.html
