oozie workflow杀死时回滚动作

时间:2015-07-20 18:19:49

标签: hadoop oozie hue

当oozie中的某个动作失败时,我一直试图触发一个动作 我可以使用错误到节点,如下所示

<ok to="end"/>
<error to="kill"/>

如果我的要求是在oozie中当前操作失败时进行回滚,这将完全正常 我正在寻找的是在工作流被杀死的情况下触发一个步骤(如果有人进入工作流程并点击HUE中的终止按钮。)
当我通过HUE使用oozie时,我可以看到一个名为kill的节点在workflow.xml中生成。我尝试将自定义操作放在此空间中,但每次保存xml时,工作流都会获得默认值,如下所示

<kill name="kill">
    <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>

当oozie工作流程被杀时,有没有办法执行某些操作(某种滚动支持)? 有没有办法捕获杀戮行动并触发另一个工作流程? 我没有成功地浏览了oozie文档 真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

kill节点中的name属性是Kill操作节点的名称。 将消息元素的内容记录为工作流作业的终止原因。 kill节点没有过渡元素,因为它结束了工作流作业,如KILLED。

所以你试过调用回滚动作,同时在&#34;错误中提及#34;它自我而不是叫杀。 像

这样的东西
<ok to="end"/>
<error to="rollBack_action"/>

然后提及&#34; rollBack_Action&#34;喜欢

 <action name='rollBack_action'>
                <java>
                        <job-tracker>${jobTracker}</job-tracker>
                        <name-node>${nameNode}</name-node>
                        <arg>action_roll_back</arg>
                </java>
                <ok to="end"/>
        </action>