7

昨天我开始了一个 oozie 工作流程。它开始了两个整天停滞不前的工作。我今天早上杀了他们,做了一个我现在想测试的改变。在杀死这两个工作之后,就像工作流程变得不顺畅,现在正在继续。我想终止工作流程,这样它就不会继续开始新的工作来取代我杀死的工作。我怎样才能在 oozie 命令行中做到这一点?

4

4 回答 4

33

Oozie 命令
--------------
注意:将 oozie 服务器和端口替换为特定于集群的。
 
1)提交作业:
$ oozie job -oozie http://localhost:11000/oozie -config oozieProject/workflowHdfsAndEmailActions/job.properties -submit job: 0000001-130712212133144-oozie-oozi-W
 
2)运行作业:
$ oozie job -oozie http://localhost:11000/oozie -start 0000001-130712212133144-oozie-oozi-W
 
3)检查状态:
$ oozie job -oozie http://localhost:11000/oozie -info 0000001-130712212133144-oozie-oozi-W
 
4)暂停工作流程:
$ oozie job -oozie http://localhost:11000/oozie -suspend 0000001-130712212133144-oozie-oozi-W
 
5)恢复工作流程:
$ oozie job -oozie http://localhost:11000/oozie -resume 0000001-130712212133144-oozie-oozi-W
 
6)重新运行工作流程:
$ oozie job -oozie http://localhost:11000/oozie -config oozieProject/workflowHdfsAndEmailActions/job.properties -rerun 0000001-130712212133144-oozie-oozi-W
 
7)是否需要终止作业:
$ oozie job -oozie http://localhost:11000/oozie -kill 0000001-130712212133144-oozie-oozi-W
 
8)查看服务器日志:
$ oozie job -oozie http://localhost:11000/oozie -logs 0000001-130712212133144-oozie-oozi-W
 
日志可在:
/var/log/oozie on the Oozie server

于 2014-07-03T11:41:13.117 回答
16

您可以通过以下方式查看正在运行的作业:

oozie jobs

或者如果它是协调器,而不是工作流:

oozie jobs -jobtype coordinator

并从那里获取作业 ID,然后执行:

oozie job -kill [id]

这是命令行工具参考页面:http: //incubator.apache.org/oozie/docs/3.1.3/docs/DG_CommandLineTool.html

于 2012-08-23T17:59:57.117 回答
0

我认为您会发现如何使用 bash 同时杀死、重新运行等多个(例如 200 个)作业很有帮助。

在一行中:

$for jobid in `oozie jobs -filter status=SUSPENDED | cut -d" " -f1`; do echo "Killed job ${jobid}"; job -kill ${jobid}; done
于 2020-01-31T18:41:36.190 回答
0

除了与 Oozie 命令相关的帖子之外,有时我们不必访问相应的工作流 id 来挂起/终止等,我们会收到以下错误:

Error: E0508 : E0508: User [?] not authorized for WF job [0001304-190209190348229-oozie-mapr-W]

为此,要执行诸如终止/挂起等任何操作,我们需要为我们的用户 ID 生成身份验证令牌。为此,首先,我们需要使用以下命令从文件中清除现有令牌,然后对给定的工作流 id 执行挂起/终止等操作:

rm .oozie-auth-token

来自 Apache Oozie 文档:

成功执行身份验证后,接收到的身份验证令牌将缓存在 .oozie-auth-token 文件中的用户主目录中,并具有仅所有者权限。后续请求在有效时重用缓存的令牌。

更多细节,Apache Oozie 文档的链接(参考认证部分): 官方文档

于 2019-02-13T10:06:11.907 回答