Before you upgrade

Before you start the HDF to CFM in-place upgrade process, ensure you understand the upgrade path available to you and your cluster meets the required prerequisites.

Upgrade path

Use the AM2CM tool to upgrade from HDF 3.5.2.0 to CFM 2.1.4 on CDP CDP 7.1.7, CDP 7.1.7 SP1, or CDP 7.1.7 SP2. If you are using an HDF version lower than 3.5.2, you need to upgrade to HDF 3.5.2 first and then proceed with the in-place upgrade process to CFM.

  1. SSH to host where Ambari is installed.
    The Ambari machine contains the Cloudera Manager server.
  2. Assign values to the following variables:
    export clustername=HDFTOCDF
    export pfork=6
    export ambariuser=admin
    export ambaripwd=admin
    export ambariport=8080
    export backupdir=/data/backups
    export ambariprotocol=http
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
    export ambariserver=`hostname -f`
    export metricscollectorhost=ccycloud-3.am2cmhdf.root.hwx.site
    export grafanahost=ccycloud-3.am2cmhdf.root.hwx.site
    export infrahost=ccycloud-1.am2cmhdf.root.hwx.site
    export kdchost=`hostname -f`
    export kdcrealm=EXAMPLE.COM
    export kdcpasswd=Cloudera123
    [ "${ambariprotocol}" = "https" ] && export securecurl="-k" || export securecurl=""
    You need to assign values to these variables because the scripts used in this migration uses these predefined variables. The following list explains the environment variables:
    • export clustername=HDFTOCDF

      This is the cluster name in the Ambari UI. An Ambari server could manage more than one cluster, and when that happens the cluster name identifies the cluster. This is important, because this value is used when calling Ambari REST API to export blueprint.

    • export ambariuser=admin

      Ambari user name which has right to perform Ambari REST calls and admin operations on the cluster.

    • export ambaripwd=admin

      Ambari password for the above user (the user name and password variables are used by curl bash scripts later in the documentation).

    • export ambariport=8080

      HTTP or HTTPs port number which is needed for Ambari REST API calls.

    • export backupdir=/data/backups

      The directory where you save the cluster blueprint.

    • export ambariprotocol=http

      Ambari server supported procotol (HTTP or HTTPS).

    • export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64

      JAVA_HOME directory which is needed for some bash script.

    • export ambariserver=`hostname -f`

      Hostname of the machine where the Ambari server is running.

    • export metricscollectorhost=ccycloud-3.am2cmhdf.root.hwx.site

      Hostname of the metrics collector. Usually it is the machine where the Ambari server is running.

    • export grafanahost=ccycloud-3.am2cmhdf.root.hwx.site

      Hostname of the Grafana host. Usually it is the machine where the Ambari server is running.

    • export infrahost=ccycloud-1.am2cmhdf.root.hwx.site

      Hostname of the Infra host. Usually it is the machine where the Ambari server is running.

    • export kdchost=`hostname -f`

      If Kerberos is used, this should point to the machine where Kerberos server is running.

    • export kdcrealm=EXAMPLE.COM

      If Kerberos is used, this should point to the Kerberos server realm.

    • export kdcpasswd=Cloudera123

      If Kerberos is used, this should point to Kerberos server admin password.

    • [ "${ambariprotocol}" = "https" ] && export securecurl="-k" || export securecurl=""

      Initializes securecurl variable, based on previous values, used in some of the bash script later in the documentation.