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 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.6.0.0-$BUILD/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.6.0.0-$BUILD/oozie/tomcat-deployment/conf/ssl
, copy over that SSL directory tousr/hdp/current/oozie-server/conf
:cp -r /grid/0/hdp/2.6.0.0-$BUILD/oozie/tomcat-deployment/conf/ssl /usr/hdp/current/oozie-server/conf/
Then run
bin/oozie-setup.sh prepare-war
.