首页 > 解决方案 > 如何在工作流开始之前终止/取消协调器操作?

问题描述

我需要一种方法来终止处于状态READY且还没有工作流 ID 的协调器操作。

我的协调员如下所示:

$ oozie job -info 0000123-000000123456789-oozie-oozi-C
Job ID : 0000123-000000123456789-oozie-oozi-C
------------------------------------------------------------------------------------------------------------------------------------
Job Name    : test_1
App Path    : /user/myuser1/workflows/test_workflow
Status      : RUNNING
Start Time  : 2021-02-16 08:01 GMT
End Time    : 2021-02-16 12:01 GMT
Pause Time  : -
Concurrency : 1
------------------------------------------------------------------------------------------------------------------------------------
ID                                         Status    Ext ID                               Err Code  Created              Nominal Time         
0000123-000000123456789-oozie-oozi-C@1     SUCCEEDED 0000123-000000123456789-oozie-oozi-W -         2021-02-16 09:47 GMT 2021-02-16 08:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------
0000123-000000123456789-oozie-oozi-C@2     RUNNING   0000125-000000123456789-oozie-oozi-W -         2021-02-16 09:51 GMT 2021-02-16 09:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------
0000123-000000123456789-oozie-oozi-C@3     READY     -                                    -         2021-02-16 09:56 GMT 2021-02-16 10:01 GMT 
------------------------------------------------------------------------------------------------------------------------------------

我需要能够以0000123-000000123456789-oozie-oozi-C@3某种方式杀死,并且等待操作被分配工作流 ID 对我来说是不可行的,这似乎只发生在工作流应该开始之前。

我试过了oozie job -kill <coord action id>oozie job -action <coord action id> -kill <coord action id>但这给了我:

Error: E0605 : E0605: Action does not exist [select w.id, w.user, w.group, w.appName, w.statusStr, w.bundleId, w.appNamespace, w.doneMaterialization from CoordinatorJobBean w where w.id = :id]

标签: oozieoozie-coordinator

解决方案


原来命令是:

oozie job -kill <coordinator id> -action <action number>

所以对于行动0000123-000000123456789-oozie-oozi-C@3,它看起来像这样:

$ oozie job -kill 0000123-000000123456789-oozie-oozi-C -action 3
Action ID   Nominal Time
------------------------------------------------------------------------------------------------------------------------------------
0000123-000000123456789-oozie-oozi-C@3  2021-02-16 10:01 UTC

推荐阅读