我希望我们能从这里的聪明人那里得到建议
我们有hadoop集群和5个数据节点机器(工人机器)。
我们的HDFS大小几乎是80T,而且我们有98%的可用容量!
在经济方面,我们不能通过向数据节点添加磁盘来增加HDFS的大小。
因此,我们正在考虑将HDFS复制因子从3降到2。
我们来做个模拟,
如果将hdfs复制因子从3降到2,则意味着每个数据只有2个备份。
,但问题是-从以前的3个复制因子创建的第三个数据仍然存在于HDFS磁盘中。
那么HDFS是如何删除第三个数据的呢?或者是HDFS知道要做的事情?
或者可能-没有任何选项删除旧的数据创建,因为预览复制因素?
发布于 2020-07-17 01:51:28
一般来说,3是推荐的复制因子。但是,如果需要,有一个命令可以更改HDFS中现有文件的复制因子:
hdfs dfs -setrep -w <REPLICATION_FACTOR> <PATH>路径可以是文件或目录。因此,要将所有现有文件的复制因子从3更改为2,可以使用:
hdfs dfs -setrep -w 2 /请注意,-w将强制命令等待所有文件的复制更改。对于兆字节的数据,这将需要一段时间。
若要检查复制因子是否已更改,可以使用hdfs fsck /并查看“平均块复制”。它应该从3改为2。
有关更多细节,请查看命令的文档。
可以通过更新hdfs-site.xml更改将用于新文件的默认复制因子。
https://stackoverflow.com/questions/62943359
复制相似问题