gpt4 book ai didi

hadoop - 带 append 功能的 HDFS 是如何工作的

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

假设一个使用默认 block 大小 (128 MB),并且有一个文件使用 130 MB;所以使用一个全尺寸 block 和一个 2 MB 的 block 。然后需要将 20 MB append 到文件(现在总计应该是 150 MB)。会发生什么?

HDFS 是否真的将最后一个 block 的大小从 2MB 调整为 22MB?或者创建一个新 block ?

追加到 HDFS 中的文件如何处理并发性?是否存在数据丢失的风险?

HDFS是否创建第三个 block 将20+2MB放入其中,并删除2MB的 block 。如果是,这如何同时工作?

最佳答案

根据latest design documentJira issue mentioned before ,我们找到以下问题的答案:

  1. HDFS 将 append 到最后一个 block ,不会创建一个新 block 并从旧的最后一个 block 复制数据。这并不困难,因为 HDFS 只是使用普通文件系统将这些 block 文件作为普通文件写入。普通文件系统有追加新数据的机制。当然,如果你填满了最后一个区 block ,你将创建一个新区 block 。
  2. 在 HDFS 中只允许同时对任何文件进行一次写入或追加,因此没有要处理的并发性。这是由名称节点管理的。如果您希望其他人开始写入文件,则需要关闭文件。
  3. 如果文件中的最后一个 block 未被复制,追加将失败。追加被写入单个副本,后者将其通过管道传输到副本,类似于正常写入。在我看来,与正常写入相比,没有额外的数据丢失风险。

关于hadoop - 带 append 功能的 HDFS 是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9162943/

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