Oozie:在协调器中重新运行所有非 SUCCEEDED 工作流

abeboparebop

我安排了一个协调员,该协调员启动了许多单独的工作流程。这是一个回填协调器,具有过去的开始日期和结束日期。

由于输入数据集的临时问题,这些作业中有一小部分失败了,现在我需要重新运行这些工作流(无需重新运行成功的工作流)。这些不成功的工作流有多种状态:KILLED、FAILED 和 SUSPENDED。

做这个的最好方式是什么?

abeboparebop

我最终编写了一个 bash 脚本来做到这一点。我不会在这里复制整个脚本,但这是大纲:

首先,解析 的输出oozie job -info以获取具有给定协调器的给定状态的操作列表:

actions=$(oozie job -info $oozie_coord -filter status=$status -len 1000 |
          grep "\-C@" |
          awk '{print $1}' |
          sed -n "s/^.*@\([0-9]*\).*$/\1/p")

然后循环执行这些操作并发出重新运行命令:

while read -r action; do
  oozie job -rerun $oozie_coord -action $action

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章