Hadoop 在MapReduce 2.0中,名称空间和块池意味着什么?

Hadoop 在MapReduce 2.0中,名称空间和块池意味着什么?,hadoop,yarn,Hadoop,Yarn,我知道在MRv2中,所有datanodes都会向多个namenodes报告有关心跳块的信息。 此datanodes确切地报告在哪里,以便在所有namenodes中保存它? 如果任何一个namenode宕机,集群是否会丢失一些块信息?您正在谈论HDFS中的联合和高可用性概念。请参阅“Hadoop最终指南”中的第3章HDFS概念。 简而言之,namespace意味着,当我们添加更多的namenodes(原因-缩放)时,每个节点都有一个namenode负责的名称空间。和块池,具有特定于该特定命名空间的

我知道在MRv2中,所有datanodes都会向多个namenodes报告有关心跳块的信息。 此datanodes确切地报告在哪里,以便在所有namenodes中保存它?
如果任何一个namenode宕机,集群是否会丢失一些块信息?

您正在谈论HDFS中的联合和高可用性概念。请参阅“Hadoop最终指南”中的第3章HDFS概念。
简而言之,namespace意味着,当我们添加更多的namenodes(原因-缩放)时,每个节点都有一个namenode负责的名称空间。和块池,具有特定于该特定命名空间的所有块。名称空间是独立的。这个概念类似于xml名称空间

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

如果活动的namenode失败,则待机将接管活动的namenode职责

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

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

因此,如果出现故障,standby会知道块映射和最新的编辑日志,因此standy可以很快接管