hadoop - HDFS 上的块多久复制一次?
问题描述
我有一个关于 hadoop hdfs 块复制的问题。假设在一个数据节点上写入了一个块,并且 DFS 的复制因子为 3,那么 namenode 需要多长时间才能将这个块复制到其他数据节点上?是瞬时的吗?如果不是,那么在将块写入数据节点后,假设该数据节点上的磁盘发生故障且无法恢复,是否意味着该块永远丢失?以及namenode多久检查一次丢失/损坏的块?
解决方案
您可能想查看这篇对 hdfs 写入有很好描述的文章。它应该是即时的,具体取决于集群的繁忙程度:
https://data-flair.training/blogs/hdfs-data-write-operation/ 如果 DataNode 在 HDFS 中写入文件时失败会发生什么?在向 DataNode 写入数据时,如果 DataNode 失败,则会发生以下操作,这对写入数据的客户端是透明的。
- 管道关闭,然后将 ack 队列中的数据包添加到数据队列的前面,从而使故障节点下游的 DataNode 不会错过任何数据包。
推荐阅读
- android - 数据绑定无法获取视图的高度
- c# - DataGrid 过滤、多输入、MVVM、C#
- python - 打印下划线分隔的整数
- javascript - 如何防止调用下一个迭代循环而不从 web 服务获得回调响应
- angular - SyntaxError:JSON.parse 中位置 17 处的 JSON 中的意外标记 S(
) 在角度 8 中的 XMLHttpRequest.onLoad - json - 如何根据不同数组中的另一个字段数据存储json数据
- tensorflow - 如何创建训练和测试数据并输入 keras 模型?
- swift - Swift 结构和类
- c# - 如何使用 Web 服务或 WCF 服务创建 Windows Embedded Compact 7.0 应用程序开发?
- javascript - 如何在 w3 自动完成 https://www.w3schools.com/howto/howto_js_autocomplete.asp 给出的代码中提供 json 数据