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