在 Debian 系统上备份 Hadoop,通常不是“整体备份一个软件”,而是分层次备份数据和配置。下面按常见生产场景给你一套可落地的 Hadoop 备份方案。
Hadoop 备份通常包含 4 类内容:
distcp(推荐)适合集群间或跨目录备份
hadoop distcp hdfs://namenode:8020/user/data hdfs://backup-namenode:8020/backup/user_data
✅ 优点:
-update)示例(增量):
hadoop distcp -update -skipcrccheck hdfs://ns1/user/data hdfs://ns2/backup/user_data
适合短时间内一致性备份
hdfs dfsadmin -allowSnapshot /user/data
hdfs dfs -createSnapshot /user/data backup_2026_01_21
恢复:
hdfs dfs -cp /user/data/.snapshot/backup_2026_01_21 /user/data_restore
✅ 优点:
适合小集群
hdfs dfs -get /user/data /backup/hdfs_data/
tar czvf hdfs_data_$(date +%F).tar.gz /backup/hdfs_data/
❗ 这是 Hadoop 的“数据库”
cp -r /dfs/nn/* /backup/nn_meta/
常见路径:
/dfs/name
/hadoop/hdfs/namenode
hdfs dfsadminhdfs dfsadmin -saveNamespace
✅ 建议:
配置文件通常位于:
/etc/hadoop/
$HADOOP_HOME/etc/hadoop/
备份示例:
tar czvf hadoop_conf_$(date +%F).tar.gz /etc/hadoop
✅ 包含:
core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml/var/log/hadoop/
tar czvf hadoop_logs_$(date +%F).tar.gz /var/log/hadoop
crontab -e
每日凌晨 2 点:
0 2 * * * /opt/scripts/backup_hadoop.sh
示例脚本:
#!/bin/bash
BACKUP_DIR=/backup/hadoop
mkdir -p $BACKUP_DIR
# 配置
tar czvf $BACKUP_DIR/conf_$(date +%F).tar.gz /etc/hadoop
# 元数据
cp -r /dfs/nn $BACKUP_DIR/nn_$(date +%F)
# HDFS 数据
hadoop distcp -update hdfs://ns1/user/data file:///backup/hdfs_data/
hdfs dfs -put /backup/hdfs_data/* /user/data/
scp -r backup/nn_2026-01-21 namenode:/dfs/nn/
hdfs namenode -format
⚠️ 恢复前务必停止 Hadoop 集群
✅ 推荐组合:
✅ 数据量大的话:
如果你愿意,可以告诉我:
我可以帮你定制一套完整备份策略。