对于 Oozie 工作流,您必须在工作流的属性中指定集群的 JobTracker。当您只有一个 JobTracker 时,这很容易:
jobTracker=主机名:端口
当集群配置为 HA(高可用性)JobTracker 时,我需要能够设置我的属性文件以能够访问任一 JobTracker 主机,而无需在 JobTracker 故障转移到时更新我的所有属性文件第二个节点。
当通过 http 访问一个 JobTracker 时,如果它没有运行,它将重定向到另一个,但 oozie 不使用 http,因此没有重定向,如果属性文件指定了工作跟踪器主机,则会导致工作流失败没有运行。
如何配置我的属性文件以处理在 HA 中运行的 JobTracker?
最佳答案
我刚刚完成了一些 Oozie 工作流的设置以使用 HA JobTrackers 和 NameNodes。关键是使用您配置的 HA 服务的逻辑名称,而不是任何单独的主机名或端口。例如,默认的 HA JobTracker 名称是“logicaljt”。将 hostname:port 替换为 'logicaljt',只要您运行 Oozie 的节点正确安装了适当的 hdfs-site 和 mapred-site 配置,一切都应该可以正常工作(隐含地由于是集群的一部分,或明确地由于向其添加网关角色)。
关于hadoop - 为 HA JobTracker 配置 oozie 工作流属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17217481/