在 CentOS 上配置 HDFS 副本数(replication),通常有 集群级(默认副本数) 和 目录/文件级 两种方式。
hdfs-site.xml编辑 HDFS 配置文件(一般在 $HADOOP_HOME/etc/hadoop/hdfs-site.xml):
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
添加或修改:
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
说明:
- 默认是
3- 副本数不能超过 DataNode 数量
stop-dfs.sh
start-dfs.sh
hdfs dfs -stat %r /path
hdfs dfs -setrep -R 2 /path
参数说明:
-R:递归(目录)2:副本数/path:HDFS 路径示例:
hdfs dfs -setrep -R 2 /user/hadoop
hdfs dfs -D dfs.replication=2 -put localfile /hdfs/path
DataNode 数量不足
hdfs dfsadmin -report
如果只有 2 个 DataNode,副本数设 3 也不会生效。
修改默认副本只对“新写入”的文件生效
已有文件需使用 -setrep
权限问题
su hdfs
或使用 sudo -u hdfs
如果你愿意,可以告诉我:
我可以给你更精确的操作步骤。