Ubuntu Hadoop 数据备份与恢复实用指南
一 备份策略总览
二 常用备份方法速览
| 方法 | 适用场景 | 关键命令/配置 | 优点 | 局限 |
|---|---|---|---|---|
| HDFS 回收站 | 误删文件快速回滚 | core-site.xml: fs.trash.interval=120;fs.trash.checkpoint.interval=120 | 配置简单、回滚快 | 非永久保留;清理后不可恢复 |
| HDFS 快照 | 目录级时间点回滚 | hdfs dfs -allowSnapshot /path;hdfs dfs -createSnapshot /path snap1;hdfs dfs -cp /path/.snapshot/snap1 /restore | 对业务影响小、创建快 | 仅限启用快照的目录;非跨集群 |
| DistCp 跨集群/云 | 备份到备份集群或对象存储 | hadoop distcp -m 50 hdfs://src/path hdfs://backup/path/2025-12-01;或 s3a://bucket/… | 可大规模、可定时/增量 | 占用带宽/资源;需网络互通 |
| 元数据与配置备份 | NameNode/配置快速恢复 | hdfs dfsadmin -safemode enter;hdfs dfsadmin -saveNamespace;备份 /etc/hadoop/conf | 保障集群可恢复性 | 需按流程操作,避免一致性问题 |
| NameNode 本地目录落地 | 防止本地盘故障 | 备份 dfs.namenode.name.dir 指向的目录(离线拷贝/快照) | 快速接管/恢复 | 非异地;需停机或只读挂载 |
| 第三方对象存储 | 低成本长期保留/云上灾备 | DistCp 到 S3/MinIO(s3a:// 或兼容接口) | 成本可控、易扩展 | 依赖网络与权限配置 |
| 说明:回收站与快照为 HDFS 内置能力;DistCp 为官方跨集群复制工具;对象存储备份需启用相应连接器(如 S3A)。 |
三 关键操作示例
启用回收站(core-site.xml)
<property>
<name>fs.trash.interval</name>
<value>120</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>
目录快照与回滚
跨集群/云备份(DistCp)
hadoop distcp \
-m 50 \
-update \
-diff previous_snapshot current_snapshot \
hdfs://nn1:8020/data/warehouse \
hdfs://backup-nn:8020/backup/warehouse/2025-12-01
hadoop distcp \
-m 50 \
hdfs://nn1:8020/data/warehouse \
s3a://my-hadoop-backup/warehouse/2025-12-01
元数据与配置备份
hdfs dfsadmin -safemode enter
hdfs dfsadmin -saveNamespace
tar czf /backup/hdfs/fsimage_$(date +%F).tgz $HADOOP_HOME/data/dfs/name
tar czf /backup/hadoop-conf_$(date +%F).tgz /etc/hadoop/conf
四 恢复流程与注意事项