在oozie工作流程中获取oozie工作信息

时间:2018-01-12 06:39:36

标签: shell hadoop oozie

通过在命令行上使用以下命令,我们可以获得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作业中获取作业信息详细信息,并将其存储在文本文件中。

2 个答案:

答案 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)

  1. 您确定已在群集中的右侧节点上检查了结果吗?您可以将其上传到HDFS以便于访问:

    hadoop fs -put /tmp/job_id.txt /tmp
    # and then
    hadoop fs -cat hdfs:///tmp/job_id.txt
    
  2. 如果您使用oozie job选项运行-debug,则可以收集更多调试数据。然后检查Oozie生成的URL是否正确(例如,将其粘贴到浏览器)。也许你的Oozie网址出了问题?

  3. 如果正确设置了shell脚本的输入参数(作业ID),则验证。要在Oozie工作流程中访问作业ID,您可以使用${wf:id()}