HDFS:如何在添加新节点后释放空间/重新平衡?

时间:2016-07-28 07:49:03

标签: hadoop hdfs diskspace

我在HDFS中添加了第二个节点。在添加节点之前,主服务器的磁盘使用率为91%。之后,自由空间仍然越来越小。我使用阈值10重新平衡群集,并将块复制因子设置为3.我的Hadoop版本是2.2.4.2-2。有什么想法可以释放主节点上的空间吗?

1 个答案:

答案 0 :(得分:0)

你有一个单一的数据节点,可能包含所有HDFS块。每个块只有一个副本。如果添加第二个节点并保持复制因子3,则最多将每个块复制到新节点,以获得实际的复制因子2(每个块有2个副本,每个节点一个)。前一个节点没有空间缩减。如果您随后添加第三个数据节点,则每个块最多可以实现3个副本,每个节点一个副本,原始节点上的空间不会减少。只有当您添加第4个节点时,才能通过从原始节点迁移大约1/4的块副本来实现磁盘使用量的减少。

您必须减少复制因子,或添加3个以上的节点。 6个节点将在复制因子3上实现50%的减少。或者将复制因子更改为1并且仅使用2个节点就可以实现50%的减少,但存在丢失块的风险。