MySQL Data Store for Oozie
About this task
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>
-
Copy the MySQL JDBC driver
(
mysql-connector-java-<version>-bin.jar
) to the following directory:/opt/mapr/oozie/oozie-<oozieversion>/libext
-
Execute the
oozie-setup.sh
script:/opt/mapr/oozie/oozie-<version>/bin/oozie-setup.sh -hadoop <version> /opt/mapr/hadoop/hadoop-<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,...