HDFS 上的块多久复制一次?

Posted

技术标签:

【中文标题】HDFS 上的块多久复制一次?【英文标题】:How often are blocks on HDFS replicated? 【发布时间】:2021-01-28 23:16:37 【问题描述】:

我有一个关于 hadoop hdfs 块复制的问题。假设在数据节点上写入了一个块,并且 DFS 的复制因子为 3,那么 namenode 需要多长时间才能将这个块复制到其他数据节点上?是瞬时的吗?如果不是,则在将块写入数据节点后,假设该数据节点上的磁盘发生故障且无法恢复,是否意味着该块永远丢失?以及 namenode 多久检查一次丢失/损坏的块?

【问题讨论】:

【参考方案1】:

您可能想查看这篇对 hdfs 写入有很好描述的文章。根据集群的繁忙程度,它应该是即时的:

https://data-flair.training/blogs/hdfs-data-write-operation/ 如果在 HDFS 中写入文件时 DataNode 失败会发生什么? 在向DataNode写入数据的过程中,如果DataNode发生故障,则发生以下动作,这对于写入数据的客户端是透明的。

    管道关闭,然后将 ack 队列中的数据包添加到数据队列的前端,从而使故障节点下游的 DataNode 不会错过任何数据包。

【讨论】:

以上是关于HDFS 上的块多久复制一次?的主要内容,如果未能解决你的问题,请参考以下文章

将文件/块从 HDFS 复制到从节点的本地文件系统

我应该多久访问一次 Heroku 服务器以使其保持清醒? [复制]

四:HDFS Snapshots

sh 修复hdfs上的复制文件

HDFS详解

HDFS中DataNode工作机制