在 CentOS 上配置 HDFS 副本数(replication),通常有三种层面:集群默认配置、目录/文件级别、客户端指定。下面按常见场景说明。
hdfs-site.xml在 NameNode 所在节点编辑:
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
添加或修改:
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 想要设置的副本数 -->
</property>
⚠️ 副本数 不能超过 DataNode 数量
stop-dfs.sh
start-dfs.sh
或(Hadoop 3+):
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/start-dfs.sh
hdfs dfs -setrep -R 2 /user/hadoop
-R:递归2:副本数hdfs dfs -setrep 1 /user/hadoop/test.txt
hdfs dfs -ls /user/hadoop
或:
hdfs dfs -stat %r /user/hadoop/test.txt
hdfs dfs -D dfs.replication=2 -put localfile /hdfs/path
如果:
HDFS 会 降级存储,Web UI 显示 Under Replication
确保端口开放:
firewall-cmd --permanent --add-port=9000/tcp
firewall-cmd --permanent --add-port=50010/tcp
firewall-cmd --reload
setenforce 0
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
如果你愿意,可以告诉我:
我可以给你 精确配置文件示例。