gpt4 book ai didi

hadoop - 在 HDFS 中写入文件的剖析

转载 作者:可可西里 更新时间:2023-11-01 14:57:06 27 4
gpt4 key购买 nike

以下是“HDFS 文件写入剖析”中 Hadoop 权威指南中的句子。不太清楚,有人可以提供更多详细信息吗?

如果在向其写入数据时任何数据节点发生故障,则会采取以下操作,这些操作对写入数据的客户端是透明的。首先,关闭管道,将ack队列中的任何数据包添加到数据队列的前面,以便故障节点下游的数据节点不会丢失任何数据包。

Q.) “故障节点下游的数据节点不会丢失任何数据包”是什么意思?任何人都可以解释更多细节。

当客户端完成写入数据时,它会在流上调用 close()。此操作将所有剩余的数据包刷新到数据节点管道并等待确认,然后联系名称节点以发出文件已完成的信号。

Q.) “action flush all the remaining packets to the datanode pipeline”是什么意思?

Q.) 如果客户端已经完成写入数据,那么为什么数据包仍然存在,为什么它必须刷新数据节点。

最佳答案

Ans.1) 在 Hadoop 中有一个复制因子的概念,它决定数据管道(查看我在 data pipeline 上的回答)要写入数据的位置。假设在将数据写入 3 个节点时,第 3 个节点发生故障。然后应该正确写入其他两个节点的数据。他们不应该成为其他人问题的罪魁祸首。

Ans.2 and 3) 在向hdfs写入数据的过程中,client在某个时间点完成了要写入的数据,但这并不意味着实际写入了完整的数据下游的数据节点。 Datanodes 可能正在等待 cpu 周期或内存在写入时可用。在这种情况下,客户端调用输出流上的 close() 方法来确认写入数据。

关于hadoop - 在 HDFS 中写入文件的剖析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37663369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com