Adding a Host to the Cluster

You can add one or more hosts to your cluster using the Add Hosts wizard, which installs the Oracle JDK, CDH, and Cloudera Manager Agent software. After the software is installed and the
Cloudera Manager Agent is started, the Agent connects to the Cloudera Manager Server and you can use the Cloudera Manager Admin Console to manage and monitor CDH on the new host.

The Add Hosts wizard does not create roles on the new host; once you have successfully added the host(s) you can either add roles, one service at a time, or apply a host template, which
can define role configurations for multiple roles.

Important:

Unqualified hostnames (short names) must be unique in a Cloudera Manager instance. For example, you cannot have both host01.example.com and
host01.standby.example.com managed by the same Cloudera Manager Server.

All hosts in a single cluster must be running the same version of CDH.

When you add a new host, you must install the same version of CDH to enable the new host to work with the other hosts in the cluster. The installation wizard lets you select the
version of CDH to install, and you can choose a custom repository to ensure that the version you install matches the version on the other hosts.

If you are managing multiple clusters, select the version of CDH that matches the version in use on the cluster where you plan to add the new host.

When you add a new host, the following occurs:

YARN topology.map is updated to include the new host

Any service that includes topology.map in its configuration—Flume, Hive, Hue, Oozie, Solr, Spark, Sqoop 2, YARN—is marked stale

At a convenient point after adding the host you should restart the stale services to pick up the new configuration.

Remove cached package lists and other transient data by running the following command:

OS

Command

RHEL

sudo yum clean all

SLES

sudo zypper clean --all

Ubuntu or Debian

sudo apt-get clean

Install the Oracle JDK package from the Cloudera Manager repository. Install the same version as is used on other cluster hosts. Only JDK 1.8 is supported:

JDK 1.8

OS

Command

RHEL

sudo yum install jdk1.8.0_144-cloudera

SLES

sudo zypper install jdk1.8.0_144-cloudera

Ubuntu or Debian

sudo apt-get install jdk1.8.0_144-cloudera

Set up the TLS certificates using the same procedure that was used to set them up on other cluster hosts. See Configuring TLS
Encryption for Cloudera Manager. If you have set up a custom truststore, copy that file from an existing host to the same location on the new host.

Install the Cloudera Manager Agent:

OS

Command

RHEL

sudo yum install cloudera-manager-agent

SLES

sudo zypper install cloudera-manager-agent

Ubuntu or Debian

sudo apt-get install cloudera-manager-agent

Copy the Cloudera Manager Agent configuration file from an existing cluster host that is already configured for TLS to the same location on the new host. For example:

Create and secure the file containing the password used to protect the private key of the Agent:

Use a text editor to create a file called agentkey.pw that contains the password. Save the file in the /etc/cloudera-scm-agent directory.

Change ownership of the file to root:

sudo chown root:root /etc/cloudera-scm-agent/agentkey.pw

Change the permissions of the file:

sudo chmod 440 /etc/cloudera-scm-agent/agentkey.pw

Start the Agent on the new host:

sudo service cloudera-scm-agent start

Log in to Cloudera Manager and go to Hosts > All Hosts page and verify that
the new host is recognized by Cloudera Manager.

Using the Add Hosts Wizard

Click the Hosts tab.

Click the Add New Hosts button.

Follow the instructions in the wizard to install the Oracle JDK and Cloudera Manager Agent packages and start the Agent.

In the Specify hosts for your CDH Cluster installation page, you can search for new hosts to add under the New Hosts tab.
However, if you have hosts that are already known to Cloudera Manager but have no roles assigned, (for example, a host that was previously in your cluster but was then removed) these will appear
under the Currently Managed Hosts tab.

You will have an opportunity to add (and start) role instances to your newly-added hosts using a host template.

You can select an existing host template, or create a new one.

To create a new host template, click the + Create... button. This will open the Create New Host Template pop-up. See
Host Templates for details on how you select the role groups that define the roles that should run on a host. When you have created
the template, it will appear in the list of host templates from which you can choose.

Select the host template you want to use.

By default Cloudera Manager will automatically start the roles specified in the host template on your newly added hosts. To prevent this, uncheck the option to start the newly-created
roles.

When the wizard is finished, you can verify the Agent is connecting properly with the Cloudera Manager Server by clicking the Hosts tab and checking the
health status for the new host. If the Health Status is Good and the value for the Last Heartbeat is recent, then the Agent is connecting properly with the Cloudera
Manager Server.

If you did not specify a host template during the Add Hosts wizard, then no roles will be present on your new hosts until you add them. You can do this by adding individual roles under
the Instances tab for a specific service, or by using a host template. See Role Instances for
information about adding roles for a specific service. See Host Templates to create a host template that specifies a set of roles
(from different services) that should run on a host.

Enable TLS Encryption or Authentication

If you previously enabled TLS security on your cluster, you must re-enable the TLS options on the Administration page and also configure TLS on each new
host after using the Add Hosts wizard. Otherwise, you can ignore this step. For instructions, see Configuring TLS Encryption for Cloudera
Manager.

Enable TLS/SSL for CDH Components

If you have previously enabled TLS/SSL on your cluster, and you plan to start these roles on this new host, make sure you install a new host
certificate to be configured from the same path and naming convention as the rest of your hosts. Since the new host and the roles configured on it are inheriting their configuration from the previous
host, ensure that the keystore or truststore passwords and locations are the same on the new host. For instructions on configuring TLS/SSL, see Configuring TLS/SSL Encryption for CDH Services.

Enable Kerberos

If you have set up Cloudera Manager to manage krb5.conf, it will automatically deploy the file on the new host. Note that Cloudera Manager will deploy
krb5.conf only if you use the Kerberos wizard. If you have used the API, you will need to manually perform the commands that the wizard calls.

If Cloudera Manager does not manage krb5.conf, you must manually update the file at /etc/krb5.conf.

Adding a Host by Installing the Packages Using Your Own Method

If you used a different mechanism to install the Oracle JDK, CDH, Cloudera Manager Agent packages, you can use that same mechanism to install the Oracle JDK, CDH, Cloudera Manager
Agent packages and then start the Cloudera Manager Agent.

After the Agent is started, you can verify the Agent is connecting properly with the Cloudera Manager Server by clicking the Hosts tab and checking the
health status for the new host. If the Health Status is Good and the value for the Last Heartbeat is recent, then the Agent is connecting properly with the Cloudera
Manager Server.

If you have enabled TLS security on your cluster, you must enable and configure TLS on each new host. Otherwise, ignore this step.

Enable and configure TLS on each new host by specifying 1 for the use_tls property in the /etc/cloudera-scm-agent/config.ini configuration file.

If you have previously enabled TLS/SSL on your cluster, and you plan to start these roles on this new host, make sure you install a new host certificate to be configured from the same
path and naming convention as the rest of your hosts. Since the new host and the roles configured on it are inheriting their configuration from the previous host, ensure that the keystore or
truststore passwords and locations are the same on the new host. For instructions on configuring TLS/SSL, see Configuring TLS/SSL Encryption for CDH Services.

If you have set up Cloudera Manager to manage krb5.conf, it will automatically deploy the file on the new host. Note that Cloudera Manager will deploy
krb5.conf only if you use the Kerberos wizard. If you have used the API, you will need to manually perform the commands that the wizard calls.

If Cloudera Manager does not manage krb5.conf, you must manually update the file at /etc/krb5.conf.

If this documentation includes code, including but not limited to, code examples, Cloudera makes this available to you under the terms of the Apache License, Version 2.0, including any required
notices. A copy of the Apache License Version 2.0 can be found here.