HDFS 大小和 hdfs 复制因子
HDFS size , and hdfs replication factor
希望能得到这里聪明人的指点
我们有 hadoop 集群和 5 个数据节点机器(工作机器)
我们的 HDFS 大小几乎是 80T
,我们有 98%
已用容量!!!
从经济方面来说,我们不能通过向数据节点添加磁盘来增加 HDFS 的大小
所以我们正在考虑将 HDFS 复制因子从 3 降低到 2
让我们做一个模拟,
如果我们将 hdfs 复制因子从 3 减少到 2,这意味着我们每个数据只有 2 个备份
但问题是 - 从前 3 个复制因子创建的第三个数据仍然存在于 HDFS 磁盘中
那么HDFS是怎么知道删除第三条数据的呢?还是 HDFS 知道该做什么?
或者也许 - 没有任何选项可以删除由于预览复制因子而创建的旧数据?
一般来说,3 是推荐的复制因子。如果你需要的话,有一个命令可以改变 HDFS 中现有文件的复制因子:
hdfs dfs -setrep -w <REPLICATION_FACTOR> <PATH>
路径可以是文件或目录。因此,要将所有现有文件的复制因子从 3 更改为 2,您可以使用:
hdfs dfs -setrep -w 2 /
请注意,-w
将强制命令等待,直到所有文件的复制都已更改。对于数 TB 的数据,这将需要一段时间。
要检查复制因子是否已更改,您可以使用 hdfs fsck /
并查看“平均块复制”。它应该从 3 变为 2。
查看 the command's docs 了解更多详情。
您可以通过更新 hdfs-site.xml
来更改将用于新文件的默认复制因子。
希望能得到这里聪明人的指点
我们有 hadoop 集群和 5 个数据节点机器(工作机器)
我们的 HDFS 大小几乎是 80T
,我们有 98%
已用容量!!!
从经济方面来说,我们不能通过向数据节点添加磁盘来增加 HDFS 的大小
所以我们正在考虑将 HDFS 复制因子从 3 降低到 2
让我们做一个模拟,
如果我们将 hdfs 复制因子从 3 减少到 2,这意味着我们每个数据只有 2 个备份
但问题是 - 从前 3 个复制因子创建的第三个数据仍然存在于 HDFS 磁盘中
那么HDFS是怎么知道删除第三条数据的呢?还是 HDFS 知道该做什么?
或者也许 - 没有任何选项可以删除由于预览复制因子而创建的旧数据?
一般来说,3 是推荐的复制因子。如果你需要的话,有一个命令可以改变 HDFS 中现有文件的复制因子:
hdfs dfs -setrep -w <REPLICATION_FACTOR> <PATH>
路径可以是文件或目录。因此,要将所有现有文件的复制因子从 3 更改为 2,您可以使用:
hdfs dfs -setrep -w 2 /
请注意,-w
将强制命令等待,直到所有文件的复制都已更改。对于数 TB 的数据,这将需要一段时间。
要检查复制因子是否已更改,您可以使用 hdfs fsck /
并查看“平均块复制”。它应该从 3 变为 2。
查看 the command's docs 了解更多详情。
您可以通过更新 hdfs-site.xml
来更改将用于新文件的默认复制因子。