我有一个关于 hadoop 复制的问题。
我使用下面提到的命令更改了 hadoop 中特定目录中文件的复制因子:
hadoop dfs -setrep -R 3 -w/data/routing
成功并将该目录中所有文件的复制因子设置为3
。但是,在此目录下写入的任何新文件继续具有默认复制因子,即 2
。
是否有任何选项可以使此更改持久化?
实际上,我只希望在此目录下写入的所有新文件始终具有 3
的复制因子,而不管默认复制因子是什么。
最佳答案
如果您想要默认复制因子以外的东西,则需要在创建文件时明确设置复制因子。
目录下的文件是通过 mapreduce 作业创建的,还是使用其他过程手动创建的?
对于 mapreduce,只需更改/设置默认复制因子的作业配置值 - dfs.replication
。如果您在某些 Java 代码中手动创建文件,请查看 FileSystem.create(Path, short)
的 API
关于hadoop - 如何使文件的 hadoop 复制因子更改持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16810463/