我希望我们能从这里的聪明人那里得到建议
我们有hadoop集群和5个数据节点机器(workers机器)
我们的hdfs大小几乎 80T
,我们有 98%
已用容量!!!
从经济的Angular 来看,我们不能通过向数据节点添加磁盘来增加hdfs的大小
因此,我们正在考虑将hdfs复制因子从3降低到2
我们来做个模拟,
如果我们将hdfs复制因子从3减少到2,则意味着每个数据只有2个备份
但问题是,从前3个复制因子创建的第三个数据仍然存在于hdfs磁盘中
那么hdfs如何知道删除第三个数据呢?还是hdfs知道该怎么做?
或者-没有任何选项删除创建的旧数据,因为预览复制因子?
1条答案
按热度按时间oknwwptz1#
一般来说,3是推荐的复制因子。但是,如果需要,有一个命令可以更改hdfs中现有文件的复制因子:
路径可以是文件或目录。因此,要将所有现有文件的复制因子从3更改为2,可以使用:
请注意
-w
将强制命令等待,直到所有文件的复制都已更改。对于太字节的数据,这需要一段时间。要检查复制因子是否已更改,可以使用
hdfs fsck /
看看“平均块复制”。它应该从3变为2。有关更多详细信息,请查看命令的文档。
您可以通过更新来更改将用于新文件的默认复制因子
hdfs-site.xml
.