Command Line Installation
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 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. 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>
  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.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 to usr/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.