hadoop:数据写入datanodes管道时datanode失败

wh6knrhe  于 2021-05-31  发布在  Hadoop
关注(0)|答案(0)|浏览(243)

我正在阅读hadoop的权威指南,第4版,我看到了定义用hdfs编写数据过程的部分。本书中有一段描述这个过程,但我不理解这段:
首先,关闭管道,并将ack队列中的任何数据包添加到数据队列的前面,以便故障节点下游的datanode不会丢失任何数据包。好的datanode上的当前块被赋予一个新的标识,该标识被传递给namenode,因此如果失败的datanode稍后恢复,那么失败的datanode上的部分块将被删除。
为什么给好数据节点的当前块赋予新标识会导致在故障数据节点上的部分块稍后恢复时被删除?
当来自akt队列的数据被添加到数据队列前面时,它不会导致所有已经写入好节点的数据包再次被重写吗?
将失败的数据节点从管道中移除,并从两个良好的数据节点构造新的管道。块的其余数据将写入管道中的良好数据节点。namenode注意到该块的复制不足,并安排在另一个节点上创建另一个副本。随后的块被视为正常
当创建具有确切副本数的新管道时,为什么namenode会注意到块的复制不足?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题