MapReduce 2.0 YARN 中的命名空间和块池是什么意思?

What does namespace and block pool mean in MapReduce 2.0 YARN?

我了解到,在 MRv2 中,所有数据节点都向多个名称节点报告有关带有心跳的块。 这个数据节点准确地报告在哪里,以便将其保存在所有名称节点中? 如果任何名称节点出现故障,集群会丢失一些块信息吗?

您在谈论 HDFS 中的联邦和高可用性概念。请查看 "Hadoop The definitive guide" 中的第 3 章 HDFS 概念。 简而言之你的问题, namespace 的意思是,当我们添加更多的namenodes(reason- scaling)时,每个namenode都有一个namenode负责的命名空间。并且 块池 具有特定于该特定命名空间的所有块。命名空间是独立的。概念类似于 xml 命名空间。

如您所知,在Hadoop 2.x系列实现中,有一对主备配置的namenode。

如果活动名称节点发生故障,备用名称节点将接管活动名称节点的职责。

活动namenode和备用namenode都共享他们的编辑日志,这样当备用namenode接管时,它会读取到共享的末尾 编辑日志以将其状态与活动名称节点同步。

此外,Datanodes 还必须向两个名称节点发送块报告,以便两个名称节点都知道最新的块映射。

因此,万一出现故障,备用设备会知道块映射和最新的编辑日志,因此备用设备可以很快接管。