我在hdfs中添加了第二个节点。在添加节点之前,主服务器的磁盘使用率为91%。之后,可用空间仍在变小。我用阈值10重新平衡了集群,块复制因子设置为3。我的hadoop版本是2.2.4.2-2。有没有办法在我的主节点上释放空间?
bjp0bcyl1#
您只有一个datanode,大概包含所有hdfs块。每个街区只有一个副本。如果添加第二个节点并保留复制因子3,则最多将每个块复制到新节点,以获得实际的复制因子2(每个块有2个副本,每个节点上一个副本)。前一个节点没有空间缩减。如果再添加第三个datanode,那么最多可以为每个块实现3个副本,每个节点上一个副本,在原始节点上不减少空间。只有添加第4个节点时,才能通过从原始节点迁移大约1/4的块副本来减少磁盘使用量。您要么减少复制因子,要么添加3个以上的节点。6个节点将在复制因子为3时减少50%。或者将复制因子更改为1,并在仅使用2个节点的情况下实现50%的减少,但有丢失块的风险。
1条答案
按热度按时间bjp0bcyl1#
您只有一个datanode,大概包含所有hdfs块。每个街区只有一个副本。如果添加第二个节点并保留复制因子3,则最多将每个块复制到新节点,以获得实际的复制因子2(每个块有2个副本,每个节点上一个副本)。前一个节点没有空间缩减。如果再添加第三个datanode,那么最多可以为每个块实现3个副本,每个节点上一个副本,在原始节点上不减少空间。只有添加第4个节点时,才能通过从原始节点迁移大约1/4的块副本来减少磁盘使用量。
您要么减少复制因子,要么添加3个以上的节点。6个节点将在复制因子为3时减少50%。或者将复制因子更改为1,并在仅使用2个节点的情况下实现50%的减少,但有丢失块的风险。