我们知道在 hadoop 中,如果数据损坏,一个新的副本将突然创建,如果最初关闭的节点工作正常,那么 namenode 将如何处理 4 个副本,它会删除一个节点吗?
如果是新创建的那个还是突然起来的那个?
最佳答案
在一个data node
宕机的情况下,name node
会看到一些数据 block under-replicated
并开始复制到其他集群中的节点将复制恢复到预期水平(默认 3)。
当损坏的节点再次启动时,来自该节点的所有 block 将被视为具有 4 个副本的过度复制
。
当一个 block 变得过度复制
时,名称节点
选择一个副本来删除。 name node
不希望减少承载副本的机架数量,其次更愿意从可用磁盘空间最少的 data node
中删除副本。这可能有助于重新平衡集群上的负载。
关于hadoop - Hadoop 中的容错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941627/