1. Install the Oozie RPMs

Prerequisites

  1. You must have at least core Hadoop on your system. See Configure the Remote Repositories for more information.

  2. 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

  1. 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

  2. Install optional features: Oozie Web Console, Compression, and Drivers.

    1. Create a lib extension directory:

      cd /usr/hdp/current/oozie

    2. 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/

    3. 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.4.2, you can find and copy the hadooplzo-* jar:

      /grid/0/hdp/2.2.4.2-2/hadoop/lib/ cp /grid/0/hdp/2.2.4.2-2/hadoop/lib/hadooplzo-0.6.0.2.2.4.2-2.jar /usr/hdp/current/oozie-client/libext/

    4. 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/

  3. (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/

  4. Make the following changes in /etc/oozie/conf/oozie-env.sh:

    From:

    export CATALINA_BASE=${CATALINA_BASE:-/usr/hdp/2.2.4.2-<$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.

  5. Create a WAR file:

    cd ${OOZIE_HOME:-/usr/hdp/current/oozie-client}
    bin/oozie-setup.sh prepare-war
    [Note]Note

    If the create WAR command fails with the following error:

    File/Dir does no exist: /usr/hdp/2.2.4.2-2/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.4.2-2/oozie/tomcat-deployment/conf/ssl, copy over that SSL directory to /usr/hdp/current/oozie-server/conf:

    cp -r /grid/0/hdp/2.2.4.2-2/oozie/tomcat-deployment/conf/ssl /usr/hdp/current/oozie-server/conf/

    Then run bin/oozie-setup.sh prepare-war.


loading table of contents...