所以我正在阅读Hadoop:The Definitive Guide.这个
page中的一句话让我感到困惑.所以我创建了一个描绘每个句子的图像.
句子说,
在联合下,每个namenode管理一个命名空间卷(黑色方块描述命名空间卷),它由命名空间的元数据组成,以及一个包含所有文件块的块池(由深灰色矩形表示).命名空间.命名空间卷彼此独立(在映像中它们是每个名称节点的个体,与none共享),这意味着namenode不会相互通信,而且一个namenode的失败不会影响所管理的命名空间的可用性通过其他名称节点.块池存储没有被分区(因此在映像中的所有块之间共享),因此,datanode注册到集群中的每个namenode(再次与所有namenode共享)并存储来自多个块池的块(我的问题是我们如何拥有不止一个块池?整个段落是否总结了所有名称节点都有指向每个块的元数据,因此共享一个块池?).
我很困惑!
最佳答案 对于“块池”矩形,您的表示不准确,它应显示为“块池”.
我认为值得看另一种表现形式:
所以基本上每个块池都是彼此独立管理的,每个块都是一组属于单个命名空间的块. Namenodes不会互相交谈,这是有道理的.
我从中读到的原因是,这允许命名空间为新块生成块ID,而无需与其他命名空间协调. namenode的失败不会阻止datanode在集群中提供其他名称节点.