Reverting a Failed Cloudera Manager Upgrade (version 5.12)

If you have a CDH 3 cluster running under Cloudera Manager 4, you cannot upgrade to Cloudera Manager 5 because it does not support CDH 3. Likewise, an upgrade from Cloudera Manager 3 to Cloudera Manager 5 is not supported. In either case, the Cloudera Manager 5 server will not start, and you must now downgrade your Cloudera Manager server, back to the version you were using prior to attempting the upgrade.

Reinstall the Cloudera Manager Server Packages

In this step, you install the Cloudera Manager Server packages to the version you were running previously. You must reinstall the same version of Cloudera Manager you were using previously, so that the version of your Cloudera Manager Agents match the server.

The steps below assume that the Cloudera Manager Server is already stopped (as it failed to start after the attempted upgrade).

  1. If you are using the embedded PostgreSQL database for Cloudera Manager, stop the database on the Cloudera Manager Server host:
    • RHEL-compatible 7 and higher:
      $ sudo service cloudera-scm-server-db next_stop_fast
      $ sudo service cloudera-scm-server-db stop
    • All other Linux distributions:
      sudo service cloudera-scm-server-db fast_stop
  2. Reinstall the same Cloudera Manager Server version that you were previously running. You can reinstall from the Cloudera repository at https://archive.cloudera.com/cm4/ or https://archive.cloudera.com/cm5/ or alternately, you can create your own repository, as described in Understanding Custom Installation Solutions.
    1. Find the Cloudera repo file for your distribution by starting at https://archive.cloudera.com/cm4/ or https://archive.cloudera.com/cm5/and navigating to the directory that matches your operating system.

      For example, for RHEL or CentOS 6, you would go to https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/. Within that directory, find the repo file that contains information including the repository's base URL and GPG key. On CentOS 6, the contents of the cloudera-manager.repo file might appear as follows:

      [cloudera-manager]
      # Packages for Cloudera Manager, Version 5, on RHEL or CentOS 6 x86_64           
      
      name=Cloudera Manager
      baseurl=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/
      gpgkey = https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera    
      gpgcheck = 1
      For Ubuntu or Debian systems, the repo file can be found by navigating to the appropriate directory, for example, https://archive.cloudera.com/cm5/debian/wheezy/amd64/cmhttps://archive.cloudera.com/cm4/debian/squeeze/amd64/cm. The repo file, in this case, cloudera.list, may appear as follows:
      # Packages for Cloudera's Distribution for Hadoop, Version 4, on Debian 7.0 x86_64
      deb https://archive.cloudera.com/cm5/debian/wheezy/amd64/cm wheezy-cm5 contrib
      deb-src https://archive.cloudera.com/cm5/debian/wheezy/amd64/cm wheezy-cm5 contrib

      You must edit the file if it exist and modify the URL to reflect the exact version of Cloudera Manager you are using (unless you want the downgrade to also upgrade to the latest version of Cloudera Manager 4). The possible versions are shown in the directory on archive. Setting the URL (an example):

      OS Command
      RHEL Replace baseurl=https://archive.cloudera.com/cm5/redhat/5/x86_64/cm/5/ with baseurl=https://archive.cloudera.com/cm5/redhat/5/x86_64/cm/5.0.5/
      Ubuntu or Debian Replace deb https://archive.cloudera.com/cm5/debian/squeeze/amd64/cm squeeze-cm5 contrib with deb https://archive.cloudera.com/cm5/debian/squeeze/amd64/cm squeeze-cm5.0.5 contrib
    2. Copy the repo file to the configuration location for the package management software for your system:
      Operating System Commands
      RHEL Copy cloudera-manager.repo to /etc/yum.repos.d/.
      SLES Copy cloudera-manager.repo to /etc/zypp/repos.d/.
      Ubuntu or Debian Copy cloudera.list to /etc/apt/sources.list.d/.
    3. Run the following commands:
      Operating System Commands
      RHEL $ sudo yum downgrade 'cloudera-*'
      SLES
      $ sudo zypper clean --all
      $ sudo zypper dup -r https://archive.cloudera.com/cm4/sles/11/x86_64/cm/4/
      To download from your own repository:
      $ sudo zypper clean --all
      $ sudo zypper dup -r http://myhost.example.com/path_to_cm_repo
      Ubuntu or Debian There's no action that will downgrade to the version currently in the repository. Read DowngradeHowto, download the script described therein, run it, and then run apt-get install for the name=version pairs that it provides for Cloudera Manager.

At the end of this process you should have the following packages, corresponding to the version of Cloudera Manager you installed, on the Cloudera Manager Server host. For example, for CentOS,

$ rpm -qa 'cloudera-manager-*'
cloudera-manager-daemons-5.0.5-1.cm505.p0.163.el6.x86_64
cloudera-manager-server-5.0.5-1.cm505.p0.163.el6.x86_64
cloudera-manager-agent-5.0.5-1.cm505.p0.163.el6.x86_64

For Ubuntu or Debian, you should have packages similar to those shown below.

~# dpkg-query -l 'cloudera-manager-*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                   Version                Description
+++-======================-======================-============================================================
ii  cloudera-manager-agent 5.0.5-1.cm505.p0.163~sq The Cloudera Manager Agent
ii  cloudera-manager-daemo 5.0.5-1.cm505.p0.163~sq Provides daemons for monitoring Hadoop and related tools.
ii  cloudera-manager-serve 5.0.5-1.cm505.p0.163~sq The Cloudera Manager Server

You may also see an entry for the cloudera-manager-server-db if you are using the embedded database, and additional packages for plug-ins, depending on what was previously installed on the server host. If the commands to update the server complete without errors, you can assume the upgrade has completed as desired. For additional assurance, you will have the option to check that the server versions have been updated after you start the server.

Start the Server

On the Cloudera Manager Server host (the system on which you installed the cloudera-manager-server package) do the following:
  1. If you are using the embedded PostgreSQL database for Cloudera Manager, start the database:
    $ sudo service cloudera-scm-server-db start
  2. Start the server:
    $ sudo service cloudera-scm-server start
    You should see the following:
    Starting cloudera-scm-server:                              [  OK  ]