Install the Oozie Package
Prerequisites
You must have at least core Hadoop on your system. See Configure the Remote Repositories for more information.
Verify the HDP repositories are available:
yum list oozie
The output should list at least one Oozie package similar to the following:
oozie.noarch <version>
If yum responds with "Error: No matching package to list" as shown below, yum cannot locate a matching RPM. This can happen if the repository hosting the HDP RPMs is unavailable, or has been disabled. Follow the instructions at Configure the Remote Repositories to configure either a public or private repository before proceeding.
Error: No matching package to list.
Installation
On the Oozie server, install the necessary RPMs.
For RHEL/CentOS/Oracle Linux:
yum install oozie oozie-client
For SLES:
zypper install oozie oozie-client
For Ubuntu and Debian:
apt-get install oozie oozie-client
On the Oozie client (typically a gateway machine), install the oozie-client package.
For RHEL/CentOS/Oracle Linux:
yum install oozie-client
Update the default user profile to define a default value for OOZIE_URL.
Typically this is done by adding a file in
/etc/profile.d
named oozie.sh. The value should be the http url of the Oozie server. Typically, http://oozie.example.com:11000/oozie for non-secure clusters or https://oozie.example.com:11443/oozie for secure clusters.Install optional features: Oozie Web Console, Compression, and Drivers.
Set up the Oozie lib extension directory:
cd /usr/hdp/current/oozie-server
Add the Ext library to the Oozie application:
For RHEL/CentOS/Oracle Linux:
yum install extjs-2.2-1
cp /usr/share/HDP-oozie/ext-2.2.zip /usr/hdp/current/oozie-client/libext/
For SLES:
zypper install extjs-2.2-1
cp /usr/share/HDP-oozie/ext-2.2.zip /usr/hdp/current/oozie-client/libext/
For Ubuntu and Debian:
apt-get install extjs
cp /usr/share/HDP-oozie/ext-2.2.zip /usr/hdp/current/oozie-client/libext/
Add LZO JAR files:
Note If you do not have an LZO JAR file, you must enable LZO compression first. See Install Compression Libraries.
ln /usr/hdp/current/hadoop-client/lib/hadoop-lzo-*.jar libext
Add PostgreSQL driver:
Copy your PostgreSQL JDBC driver jar to the libext directory:
cp /usr/share/java/postgresql-jdbc.jar /usr/hdp/current/oozie-client/libext/
Add database connector JAR files.
If you did not already create a lib extension directory, create one now:
cd /usr/hdp/current/oozie-client
For MySQL:
Copy your mysql driver jar to libext directory.
yum install mysql-connector-java
ln /usr/share/java/mysql-connector-java.jar libext/
For Oracle
Copy your oracle driver jar to the libext directory.
cp ojdbc6.jar /usr/hdp/current/oozie-client/libext/
For Derby:
Copy your derby driver jar to the libext directory.
cp derby-10-10-1.1.jar /usr/hdp/current/oozie-client/libext/
Update
/etc/oozie/conf/oozie-env.sh
with your environment information.Change the OOZIE_BASE_URL property to reflect your Oozie server hostname and port:
export OOZIE_BASE_URL="http://<your Oozie Server Hostname>:<your OOZIE_HTTP_PORT>/oozie"
For secure clusters, also add the following two lines that specify the jks path and a password to match the system configuration:
export OOZIE_HTTPS_KEYSTORE_FILE=</etc/security/hadoop/server.jks> export OOZIE_HTTPS_KEYSTORE_PASS=<changeit>
Create a WAR file by running the following command as root:
cd /usr/hdp/current/oozie-client bin/oozie-setup.sh prepare-war
For secure clusters, add the "-secure" parameter to the above command.
Note If the create WAR command fails with the following error:
File/Dir does not exist: /usr/hdp/2.5.0.0-1245/oozie-server/conf/ssl/server.xml
find the path of the SSL directory that matches oozie/tomcat-deployment/ssl:
find / -name ssl
For example, if that SSL path is
/grid/0/hdp/2.5.0.0-1245/oozie/tomcat-deployment/conf/ssl
, copy over that SSL directory tousr/hdp/current/oozie-server/conf
:cp -r /grid/0/hdp/2.5.0.0-1245/oozie/tomcat-deployment/conf/ssl /usr/hdp/current/oozie-server/conf/
Then run
bin/oozie-setup.sh prepare-war
.