HDFS 联邦:在多个名称节点之间提交 Map Reduce 作业

HDFS federation : Submission of Map Reduce jobs among multiple Name nodes

根据 Hdfs Federation 上的 Apache 文档,该系统可通过多个名称节点的联合进行隔离扩展。

多个Namenodes/Namespaces

为了横向扩展名称服务,联邦使用多个独立的 Namenodes/namespaces。名称节点是联合的; Namenodes是独立的,不需要相互协调。 Datanodes被所有Namenodes用作块的公共存储。

我唯一的疑问:

我没有看到名称节点之间有任何中央协调器,因为它们都是 运行 隔离的。对如何提交和处理作业感到困惑。

1) 如果我提交一个map-reduce作业,哪个Name Node会处理它?或者

2) 客户端是否应该知道必须为其提交作业的名称节点?

如果客户端不知道哪个名称节点,应该有一些 "Master Name node" 负责将作业分配给特定的名称节点。

它是如何工作的?

提前致谢。

Hadoop 联邦是 HDFS 的一部分。 map-reduce程序执行等,由yarn监控。

Yarn 有一个资源管理器来处理作业。资源管理器可以与名称节点(在本例中为所有三个节点)通信并获取数据所在的地址。这是 NameNode 出现的唯一一点。

所以客户端不需要向NameNode提交作业。他会提交给资源管理器。