所以我正在阅读 Hadoop:权威指南。这里面的一句话page是什么让我感到困惑。所以我创建了一个描述每个句子的图像。
这句话说,
在联合下,每个名称节点管理一个命名空间卷(黑色方 block 表示命名空间卷),它由命名空间的元数据和一个 block 池组成>(由深灰色矩形表示)包含命名空间中文件的所有 block 。 命名空间卷彼此独立(在图像中它们对于每个名称节点都是独立的,不共享),这意味着名称节点不会相互通信,而且一个名称节点的故障不会影响其他名称节点管理的 namespace 的可用性。 block 池存储未分区(因此在图像中的所有节点之间共享),但是,数据节点向集群中的每个名称节点注册(再次与所有名称节点共享)和store blocks from multiple block pools(我的问题是我们怎么会有多个 block 池?整段话不是总结了所有名称节点都有元数据指向到每个区 block 并因此共享一个区 block 池?)。
我真他妈的糊涂了!
最佳答案
关于“ block 池”矩形的表述不准确,它应该显示为“ block 池”。
我认为值得看看另一种表示方式:
所以基本上每个 block 池都是相互独立管理的,每个 block 池都是属于一个命名空间的一组 block 。 Namenodes 不相互交谈,这是有道理的。
从我读到的内容来看,这背后的原因是,这允许命名空间为新 block 生成 block ID,而无需与其他命名空间协调。名称节点的故障不会阻止数据节点为集群中的其他名称节点提供服务。
关于hadoop - block 池如何在 HDFS 联合中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460342/