Hadoop 本身不是传统意义上的“数据库”,而是一个分布式存储与计算框架,核心组件是 HDFS(分布式文件系统) 和 计算框架(MapReduce / YARN)。因此,Hadoop 的“数据备份与恢复”通常指的是 HDFS 数据、Hive/ HBase 等上层数据,以及元数据的备份与恢复。
下面按常见场景系统说明。
HDFS 通过以下机制保证数据安全:
✅ 这些是容错机制,不是备份
❌ 不能防止误删、误覆盖、逻辑错误
HDFS 支持 目录级快照
# 允许目录创建快照
hdfs dfsadmin -allowSnapshot /user/data
# 创建快照
hdfs dfs -createSnapshot /user/data snapshot_20260121
# 查看快照
hdfs dfs -ls /user/data/.snapshot
恢复方式:
hdfs dfs -cp /user/data/.snapshot/snapshot_20260121/* /user/data/
✅ 优点:
❌ 限制:
DistCp(Distributed Copy) 是 Hadoop 官方数据复制工具
hadoop distcp hdfs://ns1/user/data hdfs://ns2/backup/user_data_20260121
恢复:
hadoop distcp hdfs://ns2/backup/user_data_20260121 hdfs://ns1/user/data
✅ 优点:
✅ 常用参数:
-update -append -overwrite
hdfs dfs -get /user/data /backup/local/
或备份到 S3 / OSS / COS:
hadoop distcp hdfs:///user/data s3a://bucket/backup/
✅ 适合:
hadoop distcp /user/hive/warehouse /backup/hive_warehouse
mysqldump -u hive -p hive > hive_meta_20260121.sql
mysql -u hive -p hive < hive_meta_20260121.sql
⚠️ 注意:
hbase shell
snapshot 'mytable', 'mytable_snap_20260121'
恢复:
restore_snapshot 'mytable_snap_20260121'
✅ 优点:
hbase org.apache.hadoop.hbase.mapreduce.Export mytable /backup/mytable
恢复:
hbase org.apache.hadoop.hbase.mapreduce.Import mytable /backup/mytable
# 定期冷备 NameNode 目录
/dfs/nn/current
✅ 配合:
| 层级 | 策略 |
|---|---|
| HDFS | 快照 + DistCp |
| Hive | 数据 + 元数据 |
| HBase | Snapshot |
| 元数据 | 定期 DB 备份 |
| 灾备 | 跨集群 + 对象存储 |
Hadoop 数据备份 ≠ 副本,而是“快照 + DistCp + 元数据备份”的组合策略。
如果你愿意,我可以:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。