CentOS 上 HDFS 数据恢复策略
一 恢复策略总览
| 策略 | 适用场景 | 关键前提 | 核心命令或操作 |
|---|---|---|---|
| 回收站恢复 | 误删文件/目录,且未超过保留期 | 已启用回收站 | 配置回收站;从 /user/<用户名>/.Trash/Current/ 拷贝回原路径 |
| 快照恢复 | 目录需回滚到某个时间点 | 目录已执行 allowSnapshot 并创建过快照 | 从 .snapshot/<快照名>/ 拷贝到目标路径 |
| 备份还原(DistCp/远端/对象存储) | 大规模数据丢失或跨集群迁移 | 存在可用备份(DistCp、远端集群、对象存储) | hadoop distcp 从备份位置恢复到 HDFS |
| NameNode 元数据恢复 | NameNode 元数据损坏/丢失 | 有历史 fsimage 与 edits 备份 | 进入安全模式、保存命名空间、用备份 fsimage 恢复 |
| 块与租约修复 | 文件处于 Corrupt/Under-replicated/Lease 状态 | 集群可访问、目标文件可重新获取租约 | hdfs fsck 定位问题;必要时 hdfs debug recoverLease |
| 操作系统层恢复 | 数据节点本地磁盘误删且 HDFS 层无副本 | 本地磁盘未被大量覆写 | 在本地文件系统使用 extundelete/testdisk 等工具尝试恢复后再上传至 HDFS |
| 上述策略覆盖从误删到介质损坏的多类故障,建议按“回收站/快照 → 备份还原 → 元数据/块修复 → OS 层恢复”的顺序评估与执行。 |
二 常用恢复操作要点
三 恢复流程与注意事项