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
Install optional features: Oozie Web Console, Compression, and Drivers.
Create a lib extension directory:
cd /usr/hdp/current/oozie
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:
cp /usr/hdp/current/hadoop/lib/hadooplzo-*.jar libext/
To find hadooplzo-*.jar, remember the product version when you installed. For example, if you installed 2.2.0.0, you can find and copy the hadooplzo-* jar:
/grid/0/hdp/2.2.0.0-2041/hadoop/lib/ cp /grid/0/hdp/2.2.0.0-2041/hadoop/lib/hadooplzo-0.6.0.2.2.0.0-2041.jar /usr/hdp/current/oozie-client/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/
(Optional) Add database connector JAR files.
For MySQL:
Copy your mysql driver jar to libext directory.
cp mysql-connector-java.jar /usr/hdp/current/oozie-client/libext/
For Oracle:
Copy your oracle driver jar to the libext directory.
cp ojdbc6.jar /usr/hdp/current/oozie-client/libext/
Make the following changes in /etc/oozie/conf/oozie-env.sh:
From:
export CATALINA_BASE=${CATALINA_BASE:-/usr/hdp/2.2.0.0-<$version>/oozie-server}
To:
export CATALINA_BASE=${CATALINA_BASE:-/usr/hdp/current/oozie-client/oozie-server}
Where <$version> is the build number of the release.
Create a WAR file:
cd ${OOZIE_HOME:-/usr/hdp/current/oozie-client} bin/oozie-setup.sh prepare-war
Note If the create WAR command fails with the following error:
File/Dir does no exist: /usr/hdp/2.2.0.0-2041/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.2.0.0-2041/oozie/tomcat-deployment/conf/ssl, copy over that SSL directory to /usr/hdp/current/oozie-server/conf:
cp -r /grid/0/hdp/2.2.0.0-2041/oozie/tomcat-deployment/conf/ssl /usr/hdp/current/oozie-server/conf/
Then run
bin/oozie-setup.sh prepare-war
.