Rest API 用于通过 HUE 创建的 Oozie 工作流

Rest API for Oozie workflow created through HUE

我已经通过 Hue 界面创建了一个 Oozie 工作流。我有几个与此相关的问题

一个。我可以看到创建的工作流程 XML。但是我没有看到 job.properties 文件。 Job.properties 存储在哪里?

b。有 REST API 可以提交通过编写 workflow.xml 和 job.properties 创建的 Oozie 作业。对于通过 HUE 创建的 oozie 工作流,REST API 是什么?任何样本都会有所帮助。

不想提出问题再回答。但由于我不得不搜索一段时间,答案可能会对某人有所帮助 ...

当使用 Hue 创建 Oozie 工作流时,工作流 xml 由 Hue 创建并放置在 HDFS 位置。以后可以将该文件复制并放置在 HDFS 中的任何位置。

要对 oozie 进行 REST API 调用以启动工作流,以及 workflow.xml,需要传递 config.xml。为了在 config.xml 中获取要填充的值,我使用这种方法来查找详细信息。

Submit the job via Hue. 
Open the Oozie Web UI. (You can get the link from the Ambari. Click on oozie and look at the quick links at the top). 
In the Oozie Web UI, the job that is executed will be shown in list view. 
One of the tab is the Job Configuration. 
The content of the Job Configuration will be the content in the config.xml that need to be passed along with the REST API.

样本 URL 将是

http://IP-where-Oozie-server-runs:11000/oozie/v1/jobs?action=start

要启动的实际工作流存在于 config.xml

  <property>
    <name>oozie.wf.application.path</name>
    <value>hdfs://Named-node-name:8020/location/to/workflow.xml </value>
  </property>

仍未回答的问题是 - 是否有 job.properties 文件。看起来它不存在并且不需要。

注意:根据 romain 更新,job.properties 不存在并被 POST 正文内容替换。

使用确实是将 Oozie 的 REST API 用于 submitting a job。如果您查看它,您会看到 job.properties 被替换为提供 POST 数据中的数据:

例如

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property>
        <name>user.name</name>
        <value>bansalm</value>
    </property>
....

属性和工作流文件都在工作区文件夹中