通过在命令行上使用以下命令,我们可以获得oozie作业的作业详细信息,即使它仍在进行中。
export OOZIE_URL=http://..../oozie
oozie job -info 0177204-172227110941438-oozie-oozi-W
运行oozie工作流程,在最后一个shell操作中,我试图将作业信息详细信息捕获到文件中。
job.sh
------------
job_id=${1}
export OOZIE_URL=http://..../oozie
oozie job -info job_id >> /tmp/job_id.txt
但是上面的命令不起作用。有没有办法,我们如何在正在运行的oozie作业中获取作业信息详细信息,并将其存储在文本文件中。
答案 0 :(得分:1)
我希望您在可以从中获取信息/杀死/启动oozie作业的集群上运行命令。如果是这种情况,那么您的命令应该可以正常工作。我尝试使用以下命令,但可以看到结果。
cluster:~$ oozie job -info job-id -oozie http://gateway-url/oozie/ > a.txt
cluster:~$ cat a.txt
输出为:
Job ID : job-id
------------------------------------------------------------------------------------------------------------------------------------
Workflow Name : workflow-name
App Path : hdfs://path/to/workflow.xml
Status : RUNNING
Run : 0
User : user-id
Group : -
Created : 2018-07-05 22:30 GMT
Started : 2018-07-05 22:30 GMT
Last Modified : 2018-07-06 05:17 GMT
Ended : -
CoordAction ID: coordinator-id@410
Actions
------------------------------------------------------------------------------------------------------------------------------------
ID Status Ext ID Ext Status Err Code
------------------------------------------------------------------------------------------------------------------------------------
job-id@:start: OK - OK -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action1 OK - action2 -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action2 OK - OK -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action3 OK - action4 -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action4 OK MR_job_id1 SUCCEEDED -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action5 OK MR_job_id2 SUCCEEDED -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action6 OK - action7 -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action7 OK MR_job_id3 SUCCEEDED -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action8 OK MR_job_id4 SUCCEEDED -
------------------------------------------------------------------------------------------------------------------------------------
job-id@action9 RUNNING MR_job_id5 RUNNING -
------------------------------------------------------------------------------------------------------------------------------------
答案 1 :(得分:0)
您确定已在群集中的右侧节点上检查了结果吗?您可以将其上传到HDFS以便于访问:
hadoop fs -put /tmp/job_id.txt /tmp
# and then
hadoop fs -cat hdfs:///tmp/job_id.txt
如果您使用oozie job
选项运行-debug
,则可以收集更多调试数据。然后检查Oozie生成的URL是否正确(例如,将其粘贴到浏览器)。也许你的Oozie网址出了问题?
如果正确设置了shell脚本的输入参数(作业ID),则验证。要在Oozie工作流程中访问作业ID,您可以使用${wf:id()}
。