This is the documentation for Cloudera Manager 4.8.5.
Documentation for other versions is available at Cloudera Documentation.

Installing Older Versions of Cloudera Manager 4

The Cloudera Manager installation solutions, such as the installer downloadable from the Cloudera Downloads website, install the most recent version of Cloudera Manager. This ensures that you install the latest features and bug fixes. While having the latest version of Cloudera Manager is valuable, in some cases it may be necessary to install previous versions.

  Note: These instructions apply to installing a previous version of Cloudera Manager 4.x. You cannot use these instructions to install a version of Cloudera Manager 3.7.

The most common reason to install a previous version is when you want to expand an existing cluster. In this case the Add Hosts wizard allows you to specify that the version of the Cloudera Manager agent installed on your new hosts should match the version of Cloudera Manager running on your cluster (this is the default).

You may also want to install a previous version of the Cloudera Manager server on a new cluster if, for example, you have validated a specific version and want to deploy that version on additional clusters.

You can also add a cluster to be managed by the same instance of Cloudera Manager – you do this using the Add Cluster feature from the Services page in the Cloudera Manager Admin Console. When you do this, the default choice will be to use the same Cloudera Manager version as used on the other clusters under the same Cloudera Manager.

Adding Hosts to Cluster Running a Previous Version of Cloudera Manager

In the Cloudera Manager Admin Console, go the Hosts tab.

Click Add Hosts.

When you reach the page where you choose the software versions to install, select Matched repository for this Cloudera Manager server as your choice for Cloudera Manager. This will ensure that the version of Cloudera Manager used for your new host matches the version installed on the rest of your cluster. See Adding a Host to the Cluster for further information.

If you are using a local mirror, you can specify the mirror using the "custom repository" option. You must ensure that you have mirrored the same correct older version.

Adding a New Cluster to an Existing Cloudera Manager Deployment

In the Cloudera Manager Admin Console, go the Services tab.

Click Add Cluster....

When you reach the page where you choose the software versions to install, select "Matched repository for this Cloudera Manager server" as your choice for Cloudera Manager. This will ensure that the version of Cloudera Manager used for your new host matches the version installed on the rest of your cluster. See Adding a Cluster for further information.

If you are using a local mirror, you can specify the mirror using the "custom repository" option. You must ensure that you have mirrored the same correct older version.

Installing a Previous Version of the Cloudera Manager Server

Installing an older version of Cloudera Manager requires several manual steps to install and configure the database and the correct version of the Cloudera Manager server. Once these are done, you can run the Express wizard to complete the installation of Cloudera Manager and CDH.

  1. For Red Hat/CentOS/SLES/Oracle, download and edit the Cloudera Manager repo file to point to the version of Cloudera Manager you want to use. For Debian or Ubuntu, download and edit the cloudera.list file.
  2. Install the Oracle JDK
  3. Install a Database for the Cloudera Manager Server and Services
  4. Install the Cloudera Manager Server
  5. Configure the Database for the Cloudera Manager Server
  6. Start the Cloudera Manager Server
  7. Log in to Cloudera Manager to run the Express Wizard and proceed with the rest of the installation.

Step 1: Download and edit the cloudera-manager.repo or cloudera.list file

Edit the cloudera-manager.repo file for Red Hat/CentOS or SLES

  1. Download the Cloudera Manager repo file (cloudera-manager.repo) for your OS version using the links provided in the Cloudera Manager Version and Download Information page. For example, for Red Hat/CentOS 6, this is found at http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/cloudera-manager.repo
  2. Edit the file to change the baseurl to point to the specific version of Cloudera Manager you want to download. For example, if you want to install Cloudera Manager version 4.1.2, change: baseurl=http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4/ to baseurl=http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.1.2/
  3. Save the edited file:

    For Red Hat/CentOS, save it in the directory /etc/yum.repos.d/

    For SLES, save it in /etc/zypp/repos.d

Edit the cloudera.list file for Debian or Apt

  1. Download the Cloudera Manager list file (cloudera.list) using the links provided at Cloudera Manager Version and Download Information. For example, for for Ubuntu 10.04 (lucid), this is found at http://archive.cloudera.com/cm4/ubuntu/lucid/amd64/cm/cloudera.list
  2. Edit the file to change the second-to-last element to specify the version of Cloudera Manager you want to install:

    For example, with Ubuntu lucid, for if you want to install Cloudera Manager version 4.1.2, change: deb http://archive.cloudera.com/cm4/ubuntu/lucid/amd64/cm lucid-cm4 contrib to deb http://archive.cloudera.com/cm4/ubuntu/lucid/amd64/cm lucid-cm4.1.2 contrib.

  3. Save the edited file in the directory /etc/apt/sources.list.d/

Step 2: Install the Oracle JDK

The JDK is included in the Cloudera Manager 4.x repos. Once you have the repo or list file in the correct place, you can install the JDK as follows: On a Red Hat/CentOS system:

$ sudo yum install jdk

On a SUSE system:

$ sudo zypper install jdk

On a Debian/Ubuntu system:

$ sudo apt-get install jdk

Step 3: Install a Database for the Cloudera Manager Server and Services

Cloudera Manager supports various database solutions including the PostgreSQL embedded database, PostgreSQL external databases, MySQL databases, or Oracle databases. These instructions will discuss installing either the embedded PostgreSQL database, or an external MySQL database. For other options, see Installing and Configuring Databases in the Cloudera Manager Installation Guide.

Installing the Embedded PostgreSQL Database

On a Red Hat/CentOS system:

$ sudo yum install cloudera-manager-server-db

On a SUSE system:

$ sudo zypper install cloudera-manager-server-db

On a Debian/Ubuntu system:

$ sudo apt-get install cloudera-manager-server-db

Installing the MySQL Database for the Cloudera Manager Server

Follow the instructions in Installing and Configuring a MySQL Database. These instructions lead you through installing and configuring MySQL and setting up the databases that will be used by the Cloudera Management Services (Activity Monitor, Service Monitor, Host Monitor and Report Manager).

Step 4: Install the Cloudera Manager Server

On the Cloudera Manager Server machine, type the following commands to install the Cloudera Manager packages.

On a Red Hat/CentOS system:

$ sudo yum install cloudera-manager-daemons 
$ sudo yum install cloudera-manager-server

On a SUSE system:

$ sudo zypper install cloudera-manager-daemons cloudera-manager-server

On a Debian/Ubuntu system:

$ sudo apt-get install cloudera-manager-daemons cloudera-manager-server

Step 5: Configure the Database for the Cloudera Manager Server

Depending on which database you have chosen, do one of the following two procedures to initialize the database for use by the Cloudera Manager server.

  • Start the embedded PostgreSQL database by running this command:
    $ sudo service cloudera-scm-server-db start

Or

  • Prepare the MySQL database for the Cloudera Manager Server

    Cloudera Manager configuration can be completed using the scm_prepare_database.sh script, which is installed in the /usr/share/cmf/schema directory on the host where the Cloudera Manager Server package is installed. You must run the script on the Cloudera Manager Server host.

    This script enables Cloudera Manager Server to connect to an external database in MySQL, PostgreSQL, or Oracle. The script prepares the database by:

    • Creating the Cloudera Manager Server database configuration file.
    • Creating a database for the Cloudera Manager Server to use. This is optional and is only completed if options are specified.
    • Setting up a user account for the Cloudera Manager Server. This is optional and is only completed if options are specified.

    Script syntax

    scm_prepare_database.sh database-type [options] database-name username password

    Required Parameter

    Description

    database-type

    To connect to a MySQL database, specify mysql as the database type. To connect to an Oracle database, specify oracle. To connect to an external PostgreSQL database, specify postgresql.

    database-name

    The name of the Cloudera Manager Server database you want to create.

    username

    The username for the Cloudera Manager Server database you want to create.

    password

    The password for the Cloudera Manager Server database you want to create. If you don't specify the password on the command line, the script will prompt you to enter it.

    Option

    Description

    -h or --host

    The IP address or hostname of the host where MySQL or Oracle is installed. The default is to use the local host.

    -P or --port

    The port number to use to connect to MySQL or Oracle. The default port is 3306. This option is used for a remote connection only.

    -u or --user

    The username for the MySQL or Oracle application. The default is root.

    -p or --password

    The password for the MySQL or Oracle application. The default is no password.

    --scm-host

    The hostname where the Cloudera Manager Server is installed. Omit if the Cloudera Manager server and MySQL or Oracle are installed on the same host.

    --config-path

    The path to the Cloudera Manager Server configuration files. The default is /etc/cloudera-scm-server.

    --schema-path

    The path to the Cloudera Manager schema files. The default is /usr/share/cmf/schema (the location of the script).

    -f

    The script will not stop if an error is encountered.

    -? or --help

    Display help.

      Note:

    You can also run scm_prepare_database.sh without options to see the syntax.

    Example: Running the script when MySQL is installed on another host

    This example explains how to run the script on the Cloudera Manager Server machine (myhost2) and create and use a temporary MySQL user account to connect to MySQL remotely on the MySQL machine (myhost1).

    At myhost1's MySQL prompt, create a temporary user who can connect from myhost2:

    mysql> grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
    Query OK, 0 rows affected (0.00 sec)

    On the Cloudera Manager Server host (myhost2), run the script:

    $ sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql -h myhost1.sf.cloudera.com -u temp -ptemp --scm-host myhost2.sf.cloudera.com scm scm scm

    After the script has completed, on myhost1, delete the temporary user:

    mysql> drop user 'temp'@'%';
    Query OK, 0 rows affected (0.00 sec)

    For more details, or information on running this script with other databases see Step 3: Configure a Database for the Cloudera Manager Server in the Cloudera Manager Installation Guide.

Step 6: Start the Cloudera Manager Server

Start the Cloudera Manager Server by running this command:

$ sudo service cloudera-scm-server start

If you have problems starting the Server, such as database permissions problems, you can use the Server's log /var/log/cloudera-scm-server/cloudera-scm-server.log to troubleshoot the problem.

Step 7: Start the Cloudera Manager installation wizard

Enter the URL and port for the Cloudera Manager server: http://<Server host>:<port>

Log into Cloudera Manager. The default credentials are: Username: admin Password: admin

You are now at the first step of the Express Installation Wizard. Follow the steps as described Installation Path A - Automated Installation by Cloudera Manager for installing CDH and any other packages that may be available.