我们知道在hadoop中如果数据损坏,如果最初关闭的节点工作正常,那么将突然创建一个新的副本,那么namenode如何处理4个副本将删除一个节点?
如果是这样的话,新创建的那个或者突然出现的那个?
答案 0 :(得分:0)
在一个data node
发生故障的情况下,name node
将看到一些数据块under-replicated
,并将开始复制到群集中的其他节点,以使复制恢复到预期的水平(默认3)。
当损坏的节点再次上升时,来自此节点的所有块将被视为具有4个副本的over-replicated
。
当块变为over-replicated
时,name node
会选择要删除的副本。 name node
不希望减少托管副本的机架数量,其次更愿意从可用磁盘空间最少的data node
中删除副本。这可能有助于重新平衡群集上的负载。
答案 1 :(得分:0)
NameNode负责过复制块,您不必担心过度复制的块或手动执行任何操作。
Namenode从具有较少可用磁盘空间的节点中删除过度复制的块。这最终有助于群集重新平衡。