我有一个关于hadoop复制的问题。
我使用下面提到的命令更改了hadoop中特定目录中文件的复制因子: hadoop dfs -setrep -R 3 -w /data/routing
它成功了,并将此目录中所有文件的复制因子设置为 3
. 但是,在该目录下写入的任何新文件都继续具有默认的复制因子,即。 2
.
有没有办法让这个改变持久化?
实际上,我只希望在这个目录下写入的所有新文件始终具有如下复制因子 3
,而不管默认的复制因子是什么。
我有一个关于hadoop复制的问题。
我使用下面提到的命令更改了hadoop中特定目录中文件的复制因子: hadoop dfs -setrep -R 3 -w /data/routing
它成功了,并将此目录中所有文件的复制因子设置为 3
. 但是,在该目录下写入的任何新文件都继续具有默认的复制因子,即。 2
.
有没有办法让这个改变持久化?
实际上,我只希望在这个目录下写入的所有新文件始终具有如下复制因子 3
,而不管默认的复制因子是什么。
1条答案
按热度按时间yzuktlbb1#
如果您想要的不是默认的复制因子,则需要在创建文件时显式设置复制因子。
目录下的文件是通过mapreduce作业创建的,还是使用其他进程手动创建的?
对于mapreduce,只需更改/设置默认复制因子的作业配置值-
dfs.replication
. 如果您是在一些java代码中手动创建文件,那么请查看api中的FileSystem.create(Path, short)