在 Linux 上将 HDFS 配置迁移(比如从一台机器/集群迁移到另一台,或重装系统后恢复),通常分为几种场景。下面按最常见、最稳妥的方式说明。
HDFS 的核心配置主要在:
$HADOOP_HOME/etc/hadoop/
关键文件:
core-site.xmlhdfs-site.xmlhadoop-env.shworkers(或 slaves)log4j.properties(可选)在旧节点执行:
cd $HADOOP_HOME
tar czf hdfs-conf-backup.tar.gz etc/hadoop
拷贝到新机器:
scp hdfs-conf-backup.tar.gz user@new-host:/opt/
tar xzf hdfs-conf-backup.tar.gz -C $HADOOP_HOME
⚠️ 注意:
fs.defaultFS
dfs.namenode.rpc-address
dfs.namenode.http-address
例如:
<property>
<name>fs.defaultFS</name>
<value>hdfs://new-nn:9000</value>
</property>
并确保:
workers 文件中的主机名正确/etc/hosts 一致start-dfs.sh
hdfs dfsadmin -report
⚠️ 只拷配置是不够的
$HADOOP_HOME/dfs/name
$HADOOP_HOME/dfs/data
stop-dfs.sh
tar czf hdfs-data.tar.gz dfs
hdfs-site.xml 中路径hdfs namenode -format
⚠️ 不能直接拷贝 dfs 目录
正确做法:
hdfs dfs -cp /
或distcp
需迁移:
krb5.confhadoop.security.authentication=kerberos权限必须严格:
chmod 600 *.keytab
core-site.xmlhdfs-site.xmlworkers如果你能告诉我:
我可以给你精确的一步一步命令。