linux

HDFS故障恢复怎样快速响应

小樊
45
2025-11-21 00:02:48
栏目: 编程语言

快速响应的总体思路

常见故障与快速处置清单

故障场景 快速判断 立即动作 验证与后续
NameNode 不可用(非HA) 访问 50070/9870 失败、进程挂、磁盘/编辑日志异常 查看 NameNode 日志定位 OOM/磁盘/编辑日志异常;若 fsimage+edits 完好,先备份再重启;必要时用 SecondaryNameNode 的检查点加速恢复;启动后若卡在 Safe Mode,在确认安全后执行 hdfs dfsadmin -safemode leave 观察 hdfs dfsadmin -reporthdfs fsck / 健康度,确认 Block 安全复制比例达标
NameNode HA 切换/脑裂 ZK 会话过期、Active/Standby 状态异常 检查 ZooKeeper 会话与网络分区;确认 Active 写入路径;必要时在 Standby 上执行 hdfs haadmin -failover --forcefence --forceactive <svc>,并隔离旧 Active 复核 JournalNode 一致性、共享编辑日志落盘;恢复后回放审计与业务核对
DataNode 宕机/慢盘 hdfs dfsadmin -report 显示 Decommissioning/Stale 或磁盘错误 先隔离故障盘/节点;确认 心跳与块报告恢复;按需调整 副本数 并触发 块复制 观察 Under-Replicated Blocks 清零,读/写延迟恢复
块损坏/校验和不一致 hdfs fsckCorrupt blocks 先定位受影响文件与块;优先从其他副本自动恢复;必要时对特定路径执行 hdfs debug recoverLease <path> -retries <n> 复检 hdfs fsck 直至 Corrupt blocks=0
误删文件 回收站/快照启用 回收站 hdfs dfs -ls /user/<user>/.Trash 恢复;或基于 快照 hdfs dfs -cp <snap>/. <dst> 回滚 复核权限与配额,完善回收站保留策略
启动卡在 Safe Mode 启动阶段长时间不退出 确认 最小副本数安全复制比例;若数据确实不足,临时调低 dfs.safemode.threshold-pct 并尽快补齐副本;数据达标后恢复阈值并 safemode leave 持续观察 Blocks with only decommissioned replicas 等指标清零
以上动作依赖 HDFS 的心跳/块报告安全模式副本自动补齐坏块校验与修复回收站/快照等内置机制,配合命令行工具即可快速落地。

关键命令与操作要点

高可用与预防配置

0
看了该问题的人还看了