Downloading and extending Ambari blueprint

You need to download and extend the Ambari blueprint which, after this step, will be converted into a Cloudera Manager Deployment template by the AM2CM tool.

Ambari blueprint is a JSON file that describes the entire cluster including number of clusters present, names of the clusters, services installed on those clusters, configuration details of the installed services, and so on. The JSON file helps to upgrade the cluster. The Ambari blueprint helps you to import or export your clusters if you want to replicate your clusters with the same configuration to any other cluster. You first need to download this JSON file from HDF, then extend the JSON file.

Downloading Ambari blueprint

Ambari blueprint is a JSON file that describes the entire cluster including number of clusters present, names of the clusters, services installed on those clusters, configuration details of the installed services, and so on. The JSON file helps to upgrade the cluster. The Ambari blueprint helps you to import or export your clusters if you want to replicate your clusters with the same configuration to any other cluster.

You need the Ambari configuration to install and configure Ranger. You need to get the Ambari blueprint.

If your cluster has Kerberos and SSL enabled, you need to disable them.

  1. Go to Dashboard > Kerberos in the Ambari UI.
  2. Run the following command to download the Ambari blueprint:
    curl ${securecurl} -H "X-Requested-By: ambari" -X GET -u ${ambariuser}:${ambaripwd} ${ambariprotocol}://${ambariserver}:${ambariport}/api/v1/clusters/${clustername}?format=blueprint > "${backupdir}"/${clustername}_blueprint_"$(date +"%Y%m%d%H%M%S")".json

Extending the JSON file

After you download your Ambari blueprint, you have to extend the JSON file manually with the host details. You need to extend the JSON file in order to let Cloudera Manager know which component to install at which host.

  1. Check how many hostgroups exist in the blueprint.
  2. Collect all machine hostnames and IP addresses.
  3. Identify which machine belongs to which hostgroup.
  4. Extend all hostgroups with the data which describe the belonging host with the following JSON format:
    "hosts" : [
                {
                  "hostname" : "machine host name",
                  "hostipaddress" : "machine ip address"
                }
              ]