在hadoop中,当我希望更改适用于将来将写入该目录的文件时,是否有任何方法可以更改目录的复制因子?
1aaf6o9v1#
您可以使用以下命令更改文件的复制因子:
hdfs dfs –setrep –w 3 /user/hdfs/file.txt
您还可以使用以下命令更改目录的复制因子:
hdfs dfs -setrep -R 2 /user/hdfs/test
但是更改目录的复制因子只会影响现有文件,并且目录下的新文件将使用默认复制因子创建( dfs.replication from hdfs-site.xml )集群的一部分。请看链接了解更多。请参阅为hdfs配置复制因子的链接。但您可以通过传递以下消息临时覆盖并关闭hdfs默认复制因子:
dfs.replication from hdfs-site.xml
-D dfs.replication=1
当您通过map/reduce作业时,这应该可以很好地工作。这将是你的工作具体只。
ulmd4ohb2#
我认为你所问的问题在这个hdfs jira中也被问到:https://issues.apache.org/jira/browse/hdfs-199不幸的是,它看起来像没有,该功能是不可用的,显然不会很快到来。其他人的解决方法看起来像你的(和我的!)最好的选择。
2条答案
按热度按时间1aaf6o9v1#
您可以使用以下命令更改文件的复制因子:
您还可以使用以下命令更改目录的复制因子:
但是更改目录的复制因子只会影响现有文件,并且目录下的新文件将使用默认复制因子创建(
dfs.replication from hdfs-site.xml
)集群的一部分。请看链接了解更多。
请参阅为hdfs配置复制因子的链接。
但您可以通过传递以下消息临时覆盖并关闭hdfs默认复制因子:
当您通过map/reduce作业时,这应该可以很好地工作。这将是你的工作具体只。
ulmd4ohb2#
我认为你所问的问题在这个hdfs jira中也被问到:
https://issues.apache.org/jira/browse/hdfs-199
不幸的是,它看起来像没有,该功能是不可用的,显然不会很快到来。其他人的解决方法看起来像你的(和我的!)最好的选择。