5. Upgrade Oozie

  1. Execute the following command on the Oozie server and client machines:

    • For RHEL/CentOS:

      yum upgrade oozie
                  

    • For SLES:

      zypper update oozie
                  

  2. On the Oozie host machine, edit the /etc/oozie/conf/oozie-env.sh file and add the following parameter:

    export JAVA_LIBRARY_PATH="/usr/lib/hadoop/lib/native/Linux-amd64-64"
  3. On the Oozie host machine, update the oozie-site.xml file.

    1. Take back up of the old configuration.

      cp /etc/oozie/conf/oozie-site.xml /etc/oozie/conf/oozie-site.xml.old
    2. Add new configuration file.

      cp /etc/oozie/conf/oozie-site.xml.rpmnew /etc/oozie/conf/oozie-site.xml

    3. Add the following properties:

      <property>
              <name>oozie.base.url</name>
              <value>http://<oozie-host-name>:11000/oozie</value>
              <description>Base Oozie URL.</description>
      </property>
      
      <property>        
            <name>oozie.service.AuthorizationService.security.enabled</name>
            <value>true</value>
            <description>Specifies whether security (user name/admin role) is enabled or not.
                         If disabled any user can manage Oozie system and manage any job.
            </description>
      </property>
      
      <property>        
            <name>oozie.service.HadoopAccessorService.hadoop.configurations</name> 
            <value>*=/etc/hadoop/conf</value>
            <description>Comma separated AUTHORITY=HADOOP_CONF_DIR, where AUTHORITY is the HOST:PORT
            of the Hadoop service (JobTracker, HDFS). The wildcard '*'configuration is used when there is 
            no exact match for an authority. The HADOOP_CONF_DIR contains the relevant Hadoop *-site.xml files. 
            If the path is relative is looked within the Oozie configuration
            directory; though the path can be absolute (i.e. to point to Hadoop
            client conf/ directories in the local filesystem.        
            </description>   
      </property> 

    4. Modify the oozie.service.ActionService.executor.ext.classes property to add org.apache.oozie.action.hadoop.DistcpActionExecutor to the existing list:

      <property>
      <name>oozie.service.ActionService.executor.ext.classes</name>
      <value>org.apache.oozie.action.email.EmailActionExecutor,
                  org.apache.oozie.action.hadoop.HiveActionExecutor,
                  org.apache.oozie.action.hadoop.ShellActionExecutor,
                  org.apache.oozie.action.hadoop.SqoopActionExecutor,
                  org.apache.oozie.action.hadoop.DistcpActionExecutor</value>
      </property>

  4. On the Oozie host machine, execute the schema upgrader:

    sudo su -l oozie -c "/usr/lib/oozie/bin/ooziedb.sh upgrade -run"

  5. Prepare the oozie.war file. On the Oozie host machine, execute the following command:

    sudo su -l oozie -c "/usr/lib/oozie/bin/oozie-setup.sh -hadoop 0.20.200 /usr/lib/hadoop -extjs /usr/share/HDP-oozie/ext-2.2.zip -jars /usr/lib/hadoop/lib/hadoop-lzo-0.5.0.jar"
                            

  6. Install the Oozie sharelib in Hadoop HDFS. On the Oozie host machine, execute the following command:

    cd /usr/lib/oozie
    tar -xzf oozie-sharelib.tar.gz 
    sudo su -l hdfs -c "hadoop dfs -mkdir /user/oozie"
    sudo su -l hdfs -c "hadoop dfs -copyFromLocal /usr/lib/oozie/share /user/oozie/." 
    sudo su -l hdfs -c "hadoop dfs -chown oozie:hadoop /user/oozie"
    sudo su -l hdfs -c "hadoop dfs -chmod -R 755 /user/oozie"  
                            
                        
  7. Start Oozie.

     sudo su -l oozie -c "cd $OOZIE_LOG_DIR/log; /usr/lib/oozie/bin/oozie-start.sh" 

    where $OOZIE_LOG_DIR is the directory where Oozie log files are stored (for example: /var/log/oozie).

  8. Validate Oozie.

    oozie admin -oozie http://$fully.qualified.domain.name_for_Oozie_hostmachine:11000/oozie -status

    You should see the following output:

    System mode: NORMAL


loading table of contents...