当我希望更改适用于将来会写入该目录的文件时,有没有办法在Hadoop中更改目录的复制因子?
答案 0 :(得分:15)
您可以使用命令更改文件的复制因子:
hdfs dfs –setrep –w 3 /user/hdfs/file.txt
您还可以使用命令更改目录的复制因子:
hdfs dfs -setrep -R 2 /user/hdfs/test
但更改目录的复制因子只会影响现有文件,并且将使用群集的默认复制因子(dfs.replication from hdfs-site.xml
)创建目录下的新文件。
请参阅link以了解更多信息。
请参阅link以配置HDFS的复制因子。
但您可以通过传递:
暂时覆盖并关闭HDFS默认复制因子-D dfs.replication=1
当您使用Map / Reduce作业传递它时,这应该可以正常工作。这只是你的工作。
答案 1 :(得分:0)
我想在你的HDFS Jira中也会问你所问的是什么:
https://issues.apache.org/jira/browse/HDFS-199
,不幸的是它似乎没有,该功能不可用,显然不会很快到来。其他人的解决方案看起来像你(和我的!)最好的选择。