0

在 NameNode 和 JobTracker 不是同一台服务器的 hadoop 集群(1.x 版本)中,是否需要在 NameNode 和 JobTracker 上都指定 conf/masters 和 conf/slaves 或仅在 NameNode 上指定?我似乎无法在文档中找到直接答案。

4

1 回答 1

5

conf 文件夹中的 slaves 和 masters 文件仅被 bin 文件夹中的 start-mapred.sh、start-dfs.sh 和 start-all.sh 脚本使用。这些脚本是方便的脚本,因此您可以在单个节点上运行它们以通过 ssh 连接到每个主/从节点并启动所需的 hadoop 服务守护进程。这些脚本也应该从适当的“主”节点启动:

  • start-dfs.sh - 从您想成为名称节点的节点开始
  • start-mapred.sh - 从您想成为 Job Tracker 的节点开始
  • start-all.sh - 代表上述脚本,应该从您希望同时成为名称节点和作业跟踪器的节点运行

slaves 文件列出了所有计算节点的主机名(即您要在其上运行 Data Node 和 Task Tracker 服务的节点),而 masters 文件包含要在其上运行辅助名称节点的节点的主机名。

考虑到这一点,您只需要在名称节点上存在 slaves 和 masters 文件,并且仅当您计划从该单个节点启动集群时(使用无密码 ssh)。

于 2013-11-04T23:57:52.210 回答