在 Linux 环境下使用 HDFS(Hadoop 分布式文件系统) 时,副本数(Replication Factor)可以在多个层级进行配置,优先级从低到高如下:
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
hdfs dfs -D dfs.replication=2 -put localfile /user/hadoop/
hdfs dfs -setrep -R 2 /user/hadoop/data
参数说明:
-R:递归(目录)2:目标副本数hdfs dfs -stat %r /user/hadoop/data/file.txt
$HADOOP_HOME/etc/hadoop/hdfs-site.xml(客户端)
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
或在命令中:
export HADOOP_CLIENT_OPTS="-Ddfs.replication=2"
<property>
<name>dfs.replication.max</name>
<value>512</value>
</property>
副本数不能超过 DataNode 数量,否则实际副本数 = DataNode 数
| 场景 | 建议副本数 |
|---|---|
| 测试环境 | 1 |
| 生产环境 | 3 |
| 冷数据 | 2 |
| 重要数据 | 3+ |
如果你有:
可以继续问我。