HDFS的副本数量配置

众所周知,hdfs的默认副本数量是3个,配置在/etc/hadoop/conf/hdfs-site.xml

  
    dfs.replication
    3
  

我们也可以通过hdfs dfs -ls /path/to/file 命令查看hdfs上的文件:

HDFS的副本数量配置_第1张图片

文件类型会在第二列显示副本数量3,第五列显示文件大小,目录因为是由namenode维护的,所以没有副本数量,显示为-

如果想修改全局副本数量,只需要修改上面的hdfs-site.xml中的配置然后重启hdfs即可,修改完成后:

1. 若hdfs中副本数量没有达到配置的数量则会自动进行备份,此时datanode节点之间会大量复制文件,集群性能会暂时受到影响。

2. 若hdfs中副本数量多于配置的数量,比如原来是3,修改为2,则已存在的副本不会被删除,只会对后续新增的文件使用新的配置。如果希望修改配置后,原有多出来的副本释放空间则可以执行balancer命令,后面会详细介绍。

 

当然也可以指定文件/目录设置副本数量,执行下面的命令:

hdfs dfs -setrep -w 5 [-R] /path/to/file

其中5就是修改后的备份数量,-R为可选项若后面的参数为目录则子文件夹全部都按此策略备份。

 

还有一个HDFS的命令可以查看目录下的数据块详细比例以及副本数量分布,我这里使用的是hadoop3版本,所以会多个擦除码(Erasure Coded)这一栏:

hdfs fsck /tmp

HDFS的副本数量配置_第2张图片

 

你可能感兴趣的:(#,hdfs)