Fine-tuning Oozie's database connection

Learn how you can configure Oozie to use its database well.

When it comes to configuring database connections, simply providing a hostname, port, username, and password may not be sufficient. In order to optimize Oozie's database connection, you might need to manually construct lengthy connection and configuration strings using safety-valve settings. To simplify this process and enable finer control over Oozie's database connection, you can use several enhancements, as described in this section.

The following properties allow you to configure how Oozie uses its database:
  • oozie_database_connection_properties

    You can use this property to directly configure the database connection. For example, if you need to pass a trustStore path to the connection, you can add a property named javax.net.ssl.trustStore and with a value to your trustStore file.

  • oozie_datasource_properties
    You can use this property to configure the datasource object created by OpenJPA. For example, if you would like to finetune how many idle connections the datasource instance should keep, you can set the maxIdle property.
With the help of the values set for both the properties, Cloudera Manager assembles one single configuration which will be set in oozie-site.xml. The name of this single configuration is, oozie.service.JPAService.connection.properties, and it is assembled in the following way:
  • Whatever you specify in oozie_database_connection_properties, is concatenated with a semicolon, and available under the ConnectionProperties property in the final configuration.
  • Whatever you specify in oozie_datasource_properties, is directly set in the final configuration.
For example, if you set the following properties in oozie_database_connection_properties, because your database JDBC driver accepts them,
  • javax.net.ssl.trustStore=/path/to/trustStore.jks
  • ssl.enabled=true
And you set the following properties in oozie_datasource_properties:
  • MaxIdle=10
  • DefaultQueryTimeout=120
Then the final value of oozie.service.JPAService.connection.properties will be:
ConnectionProperties="javax.net.ssl.trustStore=/path/to/trustStore.jks;ssl.enabled=true", MaxIdle=10, DefaultQueryTimeout=120
Perform the following steps after you configure the correct properties:
  1. In Cloudera Manager, click the Oozie service.
  2. Click the Configuration tab.
  3. Search for and set the oozie_database_connection_properties property.


  4. Search for and set the oozie_datasource_properties property.


  5. Click Save Changes, and allow Cloudera Manager some time to recognize the changes.
  6. Follow the instructions provided by Cloudera Manager to redeploy Oozie.