attomos
attomos

Reputation: 1202

Is there a way to use config-default.xml globally in Oozie?

From the documentation, config-default.xml must be presented in the workflow workspace.

- /workflow.xml
- /config-default.xml
|
- /lib/ (*.jar;*.so)

The problem

I've created a custom Oozie action and try to add default values for retry-max and retry-interval to all the custom actions. So my workflow.xml will look like this:

<workflow-app xmlns="uri:oozie:workflow:0.3" name="wf-name">
<action name="custom-action" retry-max="${default_retry_max}" retry-interval="${default_retry_interval}">
</action>

config-default.xml file contains the values of default_retry_max and default_retry_interval.

What I've tried

  1. Putting config-default.xml to every workflow workspace. This works, but the problem is there will be this file everywhere.

  2. Setting oozie.service.LiteWorkflowStoreService.user.retry.max and oozie.service.LiteWorkflowStoreService.user.retry.inteval also works, but it would affect all action types.

  3. I've also looked at Global Configurations, but it doesn't solve this problem.

I think there should be a way to put config-default.xml to oozie.libpath and only those workflows that use this libpath will be affected.

Upvotes: 2

Views: 1209

Answers (1)

elkarel
elkarel

Reputation: 753

AFAIK, there is unfortunately no clean way to do it.

You might be interested in this recently created feature request: https://issues.apache.org/jira/browse/OOZIE-3179

The only thing that worked for me was to begin the workflow with a shell step that uses a script stored in hdfs. This script holds the centralized configuration. The script would look like this:

#!/bin/sh
echo "oozie.use.system.libpath=true"
echo "hbase_zookeeper_quorum=localhost"
.. etc other system or custom variables ..

Yes, the script simply prints the variables to the stdout. Let's say the shell step action is called "global_config". All following steps are able to get the variables using following syntax:

${wf:actionData('global_config')['hbase_zookeeper_quorum']}

HTH...

Upvotes: 1

Related Questions