我正在阅读《 Hadoop权威指南》(第4版),并且遇到了定义HDFS数据写入过程的部分。本书中有一段描述了此过程,但是我不明白这一段:
首先,关闭管道,并在ack中确认所有数据包 队列被添加到数据队列的最前面,以便 处于故障节点下游的节点将不会丢失任何数据包。的 良好datanode上的当前块被赋予一个新的标识,即 与namenode进行通信,以便失败的部分块 如果故障的数据节点稍后恢复,则该数据节点将被删除。
为什么赋予新的标识以良好的数据节点的当前块导致故障数据节点上的部分块在稍后恢复时被删除?
当将akt队列中的数据添加到数据队列之前时,这是否会导致所有已写入良好节点的数据包再次被重写?
失败的datanode从管道中删除,并新建一个管道 由两个良好的datanode构成。其余的 区块的数据被写入商品 管道中的数据节点。 namenode注意到该块是 复制不足,并安排进一步复制到 在另一个节点上创建。然后处理后续块 像往常一样
当创建具有精确副本数的新管道时,namenode为什么会注意到该块的副本不足?