hadoop - block 池如何在 HDFS 联合中运行

标签 hadoop hdfs

所以我正在阅读 Hadoop:权威指南。这里面的一句话page是什么让我感到困惑。所以我创建了一个描述每个句子的图像。

HDFS Federation

这句话说,

在联合下,每个名称节点管理一个命名空间卷(黑色方 block 表示命名空间卷),它由命名空间的元数据和一个 block 池组成>(由深灰色矩形表示)包含命名空间中文件的所有 block 。 命名空间卷彼此独立(在图像中它们对于每个名称节点都是独立的,不共享),这意味着名称节点不会相互通信,而且一个名称节点的故障不会影响其他名称节点管理的 namespace 的可用性。 block 池存储未分区(因此在图像中的所有节点之间共享),但是,数据节点向集群中的每个名称节点注册(再次与所有名称节点共享)和store blocks from multiple block pools(我的问题是我们怎么会有多个 block 池?整段话不是总结了所有名称节点都有元数据指向到每个区 block 并因此共享一个区 block 池?)。

我真他妈的糊涂了!

最佳答案

关于“ block 池”矩形的表述不准确,它应该显示为“ block 池”。

我认为值得看看另一种表示方式:

federation

所以基本上每个 block 池都是相互独立管理的,每个 block 池都是属于一个命名空间的一组 block 。 Namenodes 不相互交谈,这是有道理的。

从我读到的内容来看,这背后的原因是,这允许命名空间为新 block 生成 block ID,而无需与其他命名空间协调。名称节点的故障不会阻止数据节点为集群中的其他名称节点提供服务。

关于hadoop - block 池如何在 HDFS 联合中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460342/

相关文章:

java - Hadoop MapReduce- reducer 未运行

Java - HBase 客户端停留在 session 建立完成

hadoop - Hadoop Fair/Capacity Scheduler 可以用在 MR1 上吗?

hadoop - pig -我可以将结果fs -ls粗化为元组吗?

ubuntu - HADOOP - 权限被拒绝执行 start-all.sh

python - Ambari - 自定义应用程序的故障检查状态

hadoop - 来自2台不同机器的Hadoop日志文件分析

hadoop - 直接从 HDFS 读取文件

hadoop - 启动start-all.sh(HADOOP)时出错

hadoop - 加载数据问题从HDFS hive