假设某个数据节点发生故障,那么它将停止发送心跳。现在,名称节点已经知道该特定数据节点不再在网络中。名称节点再次必须创建用于维护复制因子的块。名称节点如何知道死数据节点上存在块的所有不同副本。如果它将开始在FSImage上进行迭代,那么无疑这将是一个非常漫长的过程,并且将花费很长时间。那么,名称节点遵循的确切过程是什么,以了解死数据节点上存储的不同数据块是什么?
最佳答案
块图保存在内存中,因此可以很快找到故障主机上的所有块。
它是大小映射的函数,但不超过4gb。
关于hadoop - 当名称节点崩溃时,名称节点如何确定存储在哪些不同的数据 block 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50098825/