当 Hadoop DataNode 宕机时

when Hadoop DataNode is down

注册以下声明任何人都可以澄清以下问题吗?

声明: 当一个DataNode宕机时,它不会影响数据或集群的可用性。 NameNode会为不可用的DataNode管理的块安排复制

问题:

  1. 当数据节点(d1)宕机时,名称节点会盲目地开始在其他节点(d2)上复制块(B1,B2..Bn)吗?
  2. 但是当 datanode(d1) 启动时,datanode(d1) 上相同的现有块(B1、B2...Bn)会发生什么情况?

解释:

假设数据节点 d1 有块 b1,b2..Bn 因为它已关闭,namenode 将开始将它们复制到数据节点 d2 或其他。但是当 d1 启动时 d1 块会发生什么?

DataNodes 通知 NameNode 接收或删除块,或者他们定期发送他们的副本列表。此外,NameNode 仍然有一个 运行 线程,即 ReplicationMonitor,以在其雷达下发现复制不足和复制过度,并相应地计划 deletion/replication

source