Oozie从最后一次杀死它的节点重新运行工作流程

时间:2014-12-27 00:03:57

标签: hadoop oozie

我在oozie中使用MR动作。并希望使用oozie在MR上提供的暂停/恢复功能。

问题 - 但是,当我们在Oozie上调用'suspend'而不会杀死hadoop作业时,它只更新oozie状态,而hadoop作业继续运行完成。我希望在oozie工作流程暂停时立即杀死hadoop作业。猜猜那不可能吗?

所以,我想我可以杀死oozie工作流程并重新运行它。 但现在的问题是,如果我的工作流程中有3个动作节点,我不想重新运行所有这些节点。

我在这里吸烟还是可以访问最后一个成功的oozie节点(最有可能存储在mysql数据库中)?

对于我纵容的用例,是否有更好的方法?

提前感谢您的帮助,

P.S。我没有发布我的工作流程,因为它是一个简单的工作流程,有几个map-reduce动作,这里没有火箭科学。

1 个答案:

答案 0 :(得分:2)

oozie命令行界面允许标记" -rerun"在以下背景中使用:

oozie job -oozie http://localhost:11000/oozie -config job.properties -rerun 14-20090525161321-oozie-joe

重新运行的自动化存在一个问题,即您必须提供一个操作节点列表,以使用oozie.wf.rerun.skip.nodes变量跳过job.properties文件。 以下内容取自source

  

以下两种配置中只有一种是强制性的。两者都不应该同时定义   oozie.wf.rerun.skip.nodes
  oozie.wf.rerun.failnodes
  跳过节点是逗号分隔的动作名称列表。它们可以是任何动作节点,包括决策节点   oozie.wf.rerun.failnodes的有效值为true或false。   如果使用安全的hadoop版本,则还需要指定以下两个属性   mapreduce.jobtracker.kerberos.principal   dfs.namenode.kerberos.principal。

为了获得自动化,可能值得花些时间尝试使用shell脚本完成操作后附加到属性文件或直接将其实现到MR作业中。