2. Upgrade the Stack

  1. Upgrade the HDP repository on all hosts and replace the old repository file with the new file:

    • For RHEL/CentOS/Oracle Linux 5

      wget -O /etc/yum.repos.d/HDP.repo http://public-repo-1.hortonworks.com/HDP/centos5/2.x/GA/2.1-latest/hdp.repo
    • For RHEL/CentOS/Oracle Linux 6

      wget -O /etc/yum.repos.d/HDP.repo http://public-repo-1.hortonworks.com/HDP/centos6/2.x/GA/2.1-latest/hdp.repo
    • For SLES 11

      wget -O /etc/zypp/repos.d/HDP.repo http://public-repo-1.hortonworks.com/HDP/suse11/2.x/GA/2.1-latest/hdp.repo
    [Important]Important

    Make sure to download the HDP.repo file under /etc/yum.repos.d on ALL hosts.

  2. Update the stack version in the Server database. Use the command appropriate for a remote, or local repository, as described in this step.

    ambari-server upgradestack HDP-2.1 {HDP.Base.URL} 

    For a remote, accessible, public repository, the HDP.Base.URL is the same as the baseurl={HDP.Base.URL} in the HDP.repo file download in Step 1. For a local repository, use the local repository Base URL you have configured for the HDP Stack. For links to download the HDP repository files for your version of the Stack, see HDP Stack Repositories.

  3. Back up the files in following directories on the Oozie server host and make sure that all files, including *site.xml files are copied.

    mkdir oozie-conf-bak 
    cp -R /etc/oozie/conf/* oozie-conf-bak
  4. Remove the old oozie directories on all Oozie server and client hosts

    • rm -rf /etc/oozie/conf

    • rm -rf /usr/lib/oozie/

    • rm -rf /var/lib/oozie/

  5. Upgrade the stack on all Agent hosts.

    [Note]Note

    For each host, identify the HDP components installed on each host. Use Ambari Web, as described here, to view components on each host in your cluster. Based on the HDP components installed, tailor the following upgrade commands for each host to upgrade only components residing on that host. For example, if you know that a host has no HBase service or client packages installed, then you can adapt the command to not include HBase, as follows:

    yum upgrade "collectd*" "gccxml*" "pig*" "hadoop*" "sqoop*" "zookeeper*" "hive*"
    • For RHEL/CentOS/Oracle Linux

      1. Remove WebHCat, HCatalog, and Oozie components.

        yum erase "webhcat*" "hcatalog*" "oozie*"
      2. Upgrade the following components:

        yum upgrade "collectd*" "epel-release*" "gccxml*" "pig*" "hadoop*" "sqoop*" "zookeeper*" "hbase*" "hive*" hdp_mon_nagios_addons
        yum install webhcat-tar-hive webhcat-tar-pig
        yum install hive*
        yum install oozie oozie-client
        rpm -e --nodeps bigtop-jsvc
        yum install bigtop-jsvc
      3. Verify that the components were upgraded:

        yum list installed | grep HDP-$old-stack-version-number

        None of the components from that list should appear in the returned list.

    • For SLES

      1. Remove WebHCat, HCatalog, and Oozie components.

        zypper remove webhcat\* hcatalog\* oozie\*
      2. Upgrade the following components:

        zypper up "collectd*" "epel-release*" "gccxml*" "pig*" "hadoop*" "sqoop*" "zookeeper*" "hbase*" "hive*" hdp_mon_nagios_addons  
        zypper install webhcat-tar-hive webhcat-tar-pig
        zypper up -r HDP-2.1.2.0
        zypper install hive\*
        zypper install oozie oozie-client
      3. Verify that the components were upgraded:

        rpm -qa | grep hadoop, rpm -qa | grep hive and rpm -qa | grep hcatalog
      4. If components were not upgraded, upgrade them as follows:

        yast --update hadoop hcatalog hive