Configure a MySQL Data Store for Oozie
About this task
IMPORTANT This component is deprecated. Hewlett Packard
Enterprise recommends using an alternate product. For more information, see Discontinued Ecosystem Components.
Follow these
steps to configure Oozie to use a MySQL database as the Oozie data store (instead of the
default Apache Derby database). The MySQL database can also be used to support high availability (HA).Procedure
-
Using the
mysql
command-line tool, create a MySQL database, user, and password for the Oozie user. For example:mysql> create database oozie; mysql> grant all privileges on oozie.* to '<oozie-user>'@'%' identified by '<oozie-passwd>';
-
Stop the Oozie server:
maprcli node services -name oozie -action stop -nodes <node-list>
-
Set the following
JPAService
properties in theoozie-site.xml
file: Note: In the JDBC URL property, use the correct hostname (where MySQL is running).<property> <name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://localhost:3306/oozie</value> </property> <property> <name>oozie.service.JPAService.jdbc.username</name> <value>oozie</value> </property> <property> <name>oozie.service.JPAService.jdbc.password</name> <value>oozie</value> </property>
-
For earlier EEP 4.1.0 versions, copy the
MySQL JDBC driver
mysql-connector-java-<version>-bin.jar
file to the following directory./opt/mapr/oozie/oozie-<oozieversion>/libext
For EEP 4.1.0 and later, the JDBC driver file
mysql-connector-java-<version>-bin.jar
is automatically copied from the/opt/mapr/lib/
directory to the/opt/mapr/oozie/oozie-<oozieversion>/libext
directory.See the repository to confirm default MySQL JDBC driver in
/opt/mapr/oozie/oozie-<oozieversion>/libext
directory is compatible with your MySQL or MariaDB version. Download and update the default JDBC driver file with the driver file that is compatible with your MySQL or Maria DB version. -
Start the Oozie server:
maprcli node services -name oozie -action start -nodes <node-list>
-
Check that MySQL is now in use by looking at the contents of the
oozie.log
file. For example:cat /opt/mapr/oozie/oozie-<version>/logs/oozie.log |grep mysql 2015-07-24 06:10:07,023 INFO JPAService:541 - SERVER[local.novalocal] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] ACTION[-] JPA configuration: DriverClassName=com.mysql.jdbc.Driver,Url=jdbc:mysql://localhost:3306/oozie,Username=oozie,...
- To encrypt the Oozie database user password, see Encrypt the Oozie Database User Password.