hadoop - 当数据节点宕机时,名称节点如何确定存储在数据节点中的不同数据块?
问题描述
假设某个数据节点宕机了,那么它将停止发送心跳。现在,名称节点已经知道这个特定的数据节点不再存在于网络中。名称节点再次必须创建块来维护复制因子。名称节点如何知道死数据节点上存在块的所有不同副本。如果它将开始迭代 FSImage,那么肯定会是一个非常漫长的过程,并且需要很长时间。那么,name node 所遵循的确切过程是什么来知道死数据节点上存储的不同数据块是什么?
解决方案
块映射保存在内存中,因此可以很快找到驻留在故障主机上的所有块。
但它是大小映射的函数,不超过 4gb。
推荐阅读
- azure - 如何从 VSTS 连接到 Azure 应用服务
- javascript - document not defined javascript error (works in Chrome console but not in integrated terminal of editor)
- vba - 从多个工作表中提取信息并按供应商合并和汇总
- c++ - 一个概念可以需要一个 constexpr 值或函数吗?
- angular - Angular - 从子组件访问主机属性
- mysql - MySQL HOUR() 开始于 6:30 而不是 6:00
- javascript - Javascript - 函数不会从另一个函数运行
- html - 升级字体真棒后未显示字体真棒“搜索”的 Unicode 字符
- javascript - 使用 JavaScript 将 2D 图像转换为 3D 图像
- python - Python 整数和 elif