Hadoop 集群中多个 JobTracker 节点的含义?

Hadoop 集群中多个 JobTracker 节点的含义?

我得到的印象是,可以将多个 JobTracker 节点配置为共享同一组 MR(TaskTracker)节点。我知道,按照惯例,Hadoop 集群中的所有节点都应具有相同的配置文件集(通常/etc/hadoop/conf/至少对于 Cloudera Distribution of Hadoop(CDH)而言)。我们可以在 中定义多个作业跟踪器吗mapred-site.xml?类似于:

<configuration>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt01.mydomain.not:8021</value>
   </property>
   <property>
     <name>mapred.job.tracker</name>
     <value>jt02.mydomain.not:8021</value>
   </property>
...
</configuration>

或者是否存在其他允许的语法?

这样做意味着什么。每个 JobTracker 是否都能获得有关每个 TaskTracker 节点上的负载的信息。换句话说,两个 JobTracker 是否只能基于来自 TT 的八卦信息来协调它们在 TT 节点上的调度,还是它们需要相互通信?

有记录吗?

答案1

在多集群架构中,多个 JobTracker 非常有用。因此,集群级别的负载可以在 JobTracker 之间分配。

在单个集群中,关注可能会成为问题。

(a)如果多个 JobTracker 服务器共享一个 HDFS 集群,则每个服务器必须具有不同的 mapred.system.dir,否则 JobTracker 将删除彼此的作业文件。

(b)管理脚本“启动全部或停止全部”将成为一个问题,除非每个脚本获得不同的端口。

相关内容