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.

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.
- 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.
- Install the Oracle JDK
- Install a Database for the Cloudera Manager Server and Services
- Install the Cloudera Manager Server
- Configure the Database for the Cloudera Manager Server
- Start the Cloudera Manager Server
- 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
- 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
- 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/
- 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
- 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
- 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.
- 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 two procedures to initialize the database for use by the Cloudera Manager server.
Initialize and start the embedded PostgreSQL database
Prepare the embedded PostgreSQL database for use with the Cloudera Manager Server by running this command:
$ sudo service cloudera-scm-server-db initdb
Start the embedded PostgreSQL database by running this command:
$ sudo service cloudera-scm-server-db start
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. |

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.