使用Oozie工作流程,您必须在工作流程的属性中指定群集的JobTracker。当您拥有一个JobTracker时,这很容易:
的JobTracker =主机名:端口
当群集配置为HA(高可用性)JobTracker时,我需要能够设置我的属性文件以便能够命中任何一个JobTracker主机,而无需在JobTracker具有时更新我的所有属性文件故障转移到第二个节点。
当通过http访问一个JobTracker时,如果它没有运行,它将重定向到另一个,但oozie不使用http,因此没有重定向,如果属性文件指定了作业,则导致工作流失败未运行的跟踪器主机。
如何配置我的属性文件来处理在HA中运行的JobTracker?
答案 0 :(得分:2)
我刚刚设置了一些Oozie工作流程来使用HA JobTrackers和NameNodes。关键是使用您配置的HA服务的逻辑名称,而不是任何单独的主机名或端口。例如,默认的HA JobTracker名称是' logicaljt'。将hostname:port替换为' logicaljt',只要您运行Oozie的节点已正确安装了适当的hdfs-site和mapred-site配置(隐式到期),一切都应该正常工作成为集群的一部分,或明确地由于向其添加网关角色而来。)
答案 1 :(得分:0)
请指定启用HA的群集的名称服务。 例如:
属性文件中的
namenode=hdfs://<nameserivce>
jobTracker=<nameservice>:8032