温馨提示×

linux hdfs配置怎样备份

小樊
35
2026-09-10 12:33:21
栏目: 智能运维

在 Linux 上备份 HDFS 配置,通常分为配置文件备份元数据备份两类。下面按常见、可靠的方式说明。


一、HDFS 配置文件备份(最常用)

HDFS 配置主要在 $HADOOP_HOME/etc/hadoop/ 目录下,核心文件包括:

  • hdfs-site.xml
  • core-site.xml
  • hadoop-env.sh
  • workers(或 slaves
  • log4j.properties(可选)

1. 打包备份配置目录

cd $HADOOP_HOME/etc
tar czf hdfs-config-backup-$(date +%F).tar.gz hadoop

2. 拷贝到安全位置

scp hdfs-config-backup-*.tar.gz backup@backup-server:/data/hdfs_backup/

或传到对象存储:

hdfs dfs -put hdfs-config-backup-*.tar.gz /backup/config/

二、NameNode 元数据备份(非常重要)

HDFS 的“真正数据”是元数据(fsimage + edits),不是配置文件。

1. 找到 NameNode 目录

hdfs-site.xml 中:

<property>
  <name>dfs.namenode.name.dir</name>
  <value>/data/hadoop/dfs/name</value>
</property>

2. 手动备份 NameNode 目录

先进入 Safe Mode(推荐)

hdfs dfsadmin -safemode enter

备份:

tar czf nn-metadata-$(date +%F).tar.gz /data/hadoop/dfs/name

退出 Safe Mode:

hdfs dfsadmin -safemode leave

三、使用 Secondary NameNode / Checkpoint 备份

如果你有 Secondary NameNode:

  • 定期检查 dfs.namenode.checkpoint.dir
  • 可直接备份该目录
tar czf snn-checkpoint-$(date +%F).tar.gz /data/hadoop/dfs/namesecondary

四、使用 HA(JournalNode)场景

如果有 HA:

  • 配置本身在 所有 NameNode 节点一致
  • 重点备份:
    • hdfs-site.xml
    • core-site.xml
    • JournalNode 编辑日志目录
tar czf jn-editlog-$(date +%F).tar.gz /data/hadoop/dfs/journal

五、自动化备份(推荐)

示例:cron 每天备份

0 2 * * * tar czf /backup/hdfs-config-$(date +\%F).tar.gz $HADOOP_HOME/etc/hadoop

六、恢复方式(简要)

  1. 停止 HDFS
  2. 解压配置文件到 etc/hadoop
  3. 解压 NameNode 元数据到 dfs.namenode.name.dir
  4. 启动 HDFS

七、总结建议

备份内容 是否必须
配置文件
NameNode 元数据 ✅✅
JournalNode 日志 HA 必须
数据块 不需要(可从 DataNode 恢复)

如果你愿意,可以告诉我:

  • 是否 HA
  • HDFS 版本
  • 单机还是集群

我可以给你一套可直接用的备份脚本

0