我们如何获得每天运行的Oozie工作的状态?我们在Oozie协调员中运行了许多工作,目前我们正在通过Hue/Oozie浏览器进行监控。oozie工作的报告
有什么办法可以让我们得到一个单一的日志文件,其中包含协调员名称/工作流程名称与日期和状态?我们可以编写任何程序或脚本来实现这一目标吗?
我们如何获得每天运行的Oozie工作的状态?我们在Oozie协调员中运行了许多工作,目前我们正在通过Hue/Oozie浏览器进行监控。oozie工作的报告
有什么办法可以让我们得到一个单一的日志文件,其中包含协调员名称/工作流程名称与日期和状态?我们可以编写任何程序或脚本来实现这一目标吗?
您可以使用下面的命令并将其放入脚本中以运行daily/cron。
oozie jobs -oozie http://localhost:11000/oozie -filter status=RUNNING -len 2
oozie jobs -oozie http://localhost:11000/oozie -filter startCreatedTime=2016-06-28T00:00Z\;endcreatedtime=2016-06-28T10:00Z -len 2
基本上你是使用了Oozie的jobs
API和-filter
命令来获取有关工作流/协调员/包的信息。 -filter
命令支持几种选项以基于status
/startCreatedTime
/name
获取数据。
默认情况下,如果要获取协调器/主轴信息,它将带来工作流程记录信息。您可以使用-jobtype
参数和值作为coord/bundle
。
让我知道你是否需要任何特别的东西。 oozie文档对于此功能已经过时了。
这只返回处于运行状态的作业。我想了解昨天晚上所有工作的细节,以了解他们是成功还是失败。 – Naveen
我已经用'startCreatedTime'参数添加了这个例子。您还可以添加类似的'endCreatedTime'来限制时间间隔。 – YoungHobbit
是的。这也会起作用。谢谢。 – Naveen
命令来获取所有正在运行的Oozie的协调员
oozie jobs -jobtype coordinator -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie
司令部的地位,获取所有正在运行Oozie的工作流
oozie jobs -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie
命令的状态让所有工作流程的状态为特定的协调ID
oozie job -info COORDINATOR_ID_HERE
基于这些查询,您可以编写必需的脚本t o得到你想要的。
条款解释:
oozie
:命令启动Oozie的job/jobs
:APIlen
:Oozie的工作流程/协调员号显示-oozie
:帕拉姆指定Oozie的网址-filter
:Param指定过滤器列表。完整的文档https://oozie.apache.org/docs/3.1.3-incubating/DG_CommandLineTool.html
以下命令为我工作。
oozie jobs -oozie http://xx.xxx.xx.xx:11000/oozie -jobtype wf -len 300 | grep 2016-07-01 > OozieJobsStatus_20160701.txt
但是我们需要解析这个文件。
是的。这个命令可以工作并完成这项工作,但这并不是最优的。您可以使用oozie提供的不同过滤器参数。 – YoungHobbit
所有的答案都集中在Oozie命令行;但如果您对**程序化**方式感兴趣,请查看其他帖子:http://stackoverflow.com/questions/38503520/exporting-jobs-listed-in-oozie-web-console/ –