Non-Ambari Cluster Installation Guide
Also available as:
PDF
loading table of contents...

Install the Oozie Package

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. On the Oozie client (typically a gateway machine), install the oozie-client package.

    For RHEL/CentOS/Oracle Linux:

    yum install oozie-client

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

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

    1. Set up the Oozie lib extension directory:

      cd /usr/hdp/current/oozie-server

    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:

      [Note]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

    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/

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

  6. Modify the /etc/oozie/conf/oozie-env.sh file to look like:

    From:

    export OOZIE_CONFIG=${OOZIE_CONFIG:-/usr/hdp/current/oozie-server/conf}
    export OOZIE_DATA=${OOZIE_DATA:-/var/lib/oozie/data}
    export OOZIE_LOG=${OOZIE_LOG:-/var/log/oozie}
    export CATALINA_BASE=${CATALINA_BASE:-/usr/hdp/current/oozie-server/oozie-server}
    export CATALINA_TMPDIR=${CATALINA_TMPDIR:-/var/tmp/oozie}
    export CATALINA_PID=${CATALINA_PID:-/var/run/oozie/oozie.pid}
    export OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
    export OOZIE_BASE_URL=http://oozie.example.com:11000/oozie

    For secure clusters, replace the last line with the jks path and add a password to match the system configuration:

    export OOZIE_CONFIG=${OOZIE_CONFIG:-/usr/hdp/current/oozie-server/conf}
    export OOZIE_DATA=${OOZIE_DATA:-/var/lib/oozie/data}
    export OOZIE_LOG=${OOZIE_LOG:-/var/log/oozie}
    export CATALINA_BASE=${CATALINA_BASE:-/usr/hdp/current/oozie-server/oozie-server}
    export CATALINA_TMPDIR=${CATALINA_TMPDIR:-/var/tmp/oozie}
    export CATALINA_PID=${CATALINA_PID:-/var/run/oozie/oozie.pid}
    export OOZIE_CATALINA_HOME=/usr/lib/bigtop-tomcat
    export OOZIE_BASE_URL=https://oozie.example.com:11443/oozie
    export OOZIE_HTTPS_KEYSTORE_FILE=/etc/security/hadoop/server.jks
    export OOZIE_HTTPS_KEYSTORE_PASS=changeit
  7. Create a WAR file by running the following command as root:

    cd /usr/hdp/current/oozie-client
    bin/oozie-setup.sh prepare-war
  8. For secure clusters, add the "-secure" parameter to the above command.

    [Note]Note

    If the create WAR command fails with the following error:

    File/Dir does not exist: /usr/hdp/2.3.4.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.3.4.0-$BUILD/oozie/tomcat-deployment/conf/ssl, copy over that SSL directory to usr/hdp/current/oozie-server/conf:

    cp -r /grid/0/hdp/2.3.4.0-$BUILD/oozie/tomcat-deployment/conf/ssl /usr/hdp/current/oozie-server/conf/

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