假设:我有一个hadoop集群,其中每个数据幻灯片都设置为有3个副本。有一天,一个datanode被拔掉(假设里面存储的数据是好的),然后hdfs将为这个节点中存储的数据生成新的拷贝,这样数据幻灯片仍然有3个拷贝。但如果第二天再次插入datanode,则某些数据幻灯片有4个副本,那么hdfs必须删除4个副本中的1个。我的问题是hdfs如何选择要删除的文件?随机?或者只是删除最新的一个(这意味着datanode将被清除)?
nszi6y051#
问题:但是如果datanode被修复并重新开始工作,一些数据幻灯片有4个副本,那么hdfs必须删除4个副本中的1个正如您所提到的,在hdfs中,当任何datanode拔出时,均衡器将在另一个节点中创建丢失的拷贝,以保持块的适当复制因子。现在,如果我们想将相同的/diff节点包含到hdfs中,我们就这样做了 format 并包含要群集的节点。因此,在任何时候集群中都不会有过多的复制块。
format
wlzqhblo2#
datanode中的数据在崩溃时会被清除,这就是hdfs中保持复制的原因,以确保在datanode发生故障时始终存在数据可用性。
2条答案
按热度按时间nszi6y051#
问题:但是如果datanode被修复并重新开始工作,一些数据幻灯片有4个副本,那么hdfs必须删除4个副本中的1个
正如您所提到的,在hdfs中,当任何datanode拔出时,均衡器将在另一个节点中创建丢失的拷贝,以保持块的适当复制因子。
现在,如果我们想将相同的/diff节点包含到hdfs中,我们就这样做了
format
并包含要群集的节点。因此,在任何时候集群中都不会有过多的复制块。wlzqhblo2#
datanode中的数据在崩溃时会被清除,这就是hdfs中保持复制的原因,以确保在datanode发生故障时始终存在数据可用性。