Upgrade to Ambari 7.1.4.0

After taking care of all the prerequisites, perform the recommended steps for upgrading Ambari.

  1. Turn off Auto Restart from Ambari web UI by browsing to Admin > Service Auto Start. Set Auto-Start Services to Disabled. Click Save.
  2. If you are running SmartSense in your cluster, stop the service. From Ambari Web, browse to Services > SmartSense and select Stop from the Service Actions menu. Then, select Turn on Maintenance Mode from the Service Actions menu.
  3. If you are running Ambari Metrics in your cluster, put it in Maintenance Mode. Don't stop the service yet. From Ambari Web, browse to Services > Ambari Metrics and select Turn on Maintenance Mode from the Service Actions menu.
    1. Download the pre-upgrade script
      1. SSH into the host running the Metrics Collector. Note, that in case Ambari Metrics System (AMS) is running in High Availability mode, there are multiple hosts running the Metrics Collector. These steps must be done on each Metrics Collector host.
      2. Become the AMS service user. For example, run the following su command on Linux: $ sudo su - ams
      3. Change to the /tmp directory.
      4. Execute the following command to download the pre-upgrade script for CentOS 7: $ wget https://[***USERNAME***]:[***PASSWORD***]archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0/tars/ambari/ambari-metrics-pre-upgrade-7.1.4.0.25.tar.gz

        Execute the following command to download the pre-upgrade script for Ubuntu 18: $ wget https://[***USERNAME***]:[***PASSWORD***]archive.cloudera.com/p/ambaridc/ubuntu18/7.x/updates/7.1.4.0/tars/ambari/ambari-metrics-pre-upgrade-7.1.4.0.25.tar.gz

        Execute the following command to download the pre-upgrade script for SLES 12: $ wget https://[***USERNAME***]:[***PASSWORD***]archive.cloudera.com/p/ambaridc/sles12/7.x/updates/7.1.4.0/tars/ambari/ambari-metrics-pre-upgrade-7.1.4.0.25.tar.gz

        To find all the download links in a centralised location, see Software download matrix

    2. Extract and run the pre-upgrade script
      1. Extract the pre-upgrade tarball: $ tar xvzf ambari-metrics-pre-upgrade-<version>.tar.gz
      2. Change to the ambari-metrics-pre-upgrade-<version> directory. $ cd ambari-metrics-pre-upgrade-<version>
      3. Make the pre-upgrade script executable: $ chmod +x ams-pre-upgrade-2.6-to-7.x-<version>.sh
      4. Run the pre-upgrade script on all Metrics Collector hosts: $ ./ams-pre-upgrade-2.6-to-7.x-<version>.sh
    3. Stop the service.From Ambari Web, browse to Services > Ambari Metrics and select Stop from the Service Actions menu.
  4. If you are running Log Search in your cluster, stop the service. From Ambari Web, browse to Services > Log Search and select Stop from the Service Actions menu. Then, select Turn on Maintenance Mode from the Service Actions menu.
  5. Stop the Ambari Server. On the host running Ambari Server: ambari-server stop
  6. Stop all Ambari Agents. On each host in your cluster running an Ambari Agent: ambari-agent stop.
  7. Back up your existing Ambari Server database. For example, to back up the default, embedded postgres db for Ambari:
    mkdir /root/backups/
    pg_dump -U ambari ambari > /root/backups/ambari-before-upgrade.sql
    

    The default password is: bigdata.

  8. Upgrade your Ambari Server database to a current supported version, only if your Ambari Server database version is not supported on the target Ambari version. To verify current supported versions, see the Cloudera Support Matrix. For example, if you are running postgres v9.4, you must upgrade postgres to v9.6 or v10.2. If you are running MariaDB 10.2, upgrading the Ambari Server database is not required.

    See the documentation for your database type and version for specific database upgrade instructions.

  9. Retrieve the new Ambari repo and replace the old repository file with the new repository file on all hosts in your cluster.

    Select the repository appropriate for your environment from the following list:

    • For RHEL or CentOS:
      wget -nv https://username:password@archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0/ambaridc.repo -O /etc/yum.repos.d/ambaridc.repo 
    • For Ubuntu:
      wget -nv https://username:password@archive.cloudera.com/p/ambaridc/ubuntu18/7.x/updates/7.1.4.0/ambaridc.list -O /etc/apt/sources.list.d/ambaridc.list
    • For Sles:
      wget -nv https://username:password@archive.cloudera.com/p/ambaridc/sles12/7.x/updates/7.1.4.0/ambaridc.repo -O /etc/zypp/repos.d/ambari.repo
  10. Upgrade Ambari Server. On the host running Ambari Server:
    For RHEL or CentOS:
    yum clean all
    
    Before upgrading Ambari Server, you must update the username and password of baseurl and gpgkey in the ambaridc.repo file. Run the following command:
    vi /etc/yum.repos.d/ambaridc.repo
    
    For example, the output displays the following:
    
    #VERSION_NUMBER=7.1.4.0-25
    [ambari-7.1.4.0]
    #json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
    name=ambari Version - ambari-7.1.4.0
    baseurl=https://archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0
    gpgcheck=1
    gpgkey=https://archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
    enabled=1
    priority=1
    yum info ambari-server
    In the information output, visually validate that there is an available version containing "7.1.4.0"
    yum upgrade ambari-server
    For Ubuntu 18:
    apt-get clean all
    Before upgrading Ambari Server, you must update the username and password in the ambari.list file. Run the following command:
    vi /etc/apt/sources.list.d/ambaridc.list
    For example, the output displays the following:
    #VERSION_NUMBER=7.1.4.0-25
    #json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
    deb https://archive.cloudera.com/p/ambaridc/ubuntu18/7.x/updates/7.1.4.0 Ambari main                       
    apt-get update
    apt-cache show ambari-server | grep Version 
    In the information output, visually validate that there is an available version containing "7.1.4.0"
    apt-get upgrade ambari-server
    For SLES 12:
    zypper clean
    Before upgrading the Ambari Server, you must create, place, and set the credentials for zypper. Run the following command:
    vi /etc/zypp/repos.d/ambari.repo
    Add the following postfix to the end of BaseURL and gpgkey: ?credentials=ambari.cat For example, the output displays the following:
    #VERSION_NUMBER=7.1.4.0-25
    [ambari-7.1.4.0]
    #json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
    name=ambari Version - ambari-7.1.4.0
    baseurl=https://archive.cloudera.com/p/ambaridc/sles12/7.x/updates/7.1.4.0?credentials=ambari.cat
    gpgcheck=1
    gpgkey=https://archive.cloudera.com/p/ambaridc/sles12/7.x/updates/7.1.4.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins?credentials=ambari.cat
    enabled=1
    priority=1
                        
    Create the following file with your paywall credentials (replace <username> with your paywall username and <password> accordingly): /etc/zypp/credentials.d/ambari.cat
    username=<username> 
    password=<password>
    zypper info ambari-server
    In the information output, visually validate that there is an available version containing "7.1.4.0"
    Zypper up ambari-server
  11. Check for upgrade success by noting progress during the Ambari Server installation process you started in Step 10.
    • As the process runs, the console displays output similar to the following:

      Setting up Upgrade Process Resolving Dependencies > Running transaction check

    • If the upgrade fails, the console displays output similar to the following:

      Setting up Upgrade Process No Packages marked for Update

    • A successful upgrade displays output similar to the following:

      Updated: ambari-server.noarch 0:7.1.4.0. Complete!

  12. Upgrade all Ambari Agents. On each host in your cluster running an Ambari Agent:
    • For RHEL or CentOS: Before upgrading Ambari Agent, you must update the username and password in the ambaridc.repo file. Run the following command:
      vi /etc/yum.repos.d/ambaridc.repo
      For example, the output displays the following:
      #VERSION_NUMBER=7.1.4.0-25
      [ambari-7.1.4.0]
      #json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
      name=ambari Version - ambari-7.1.4.0
      baseurl=https://archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0
      gpgcheck=1
      gpgkey=https://archive.cloudera.com/p/ambaridc/centos7/7.x/updates/7.1.4.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
      enabled=1
      priority=1
      yum upgrade ambari-agent 
    For Ubuntu:
    apt-get update 
    apt-get upgrade ambari-agent
    For SLES:
    Copy the following files from the server host to each host with the same path:
    /etc/zypp/credentials.d/ambari.cat
    /etc/zypp/repos.d/ambari.repo

    Then run the following command:

    zypper up ambari-agent
  13. After the upgrade process completes, check each host to make sure the new files have been installed:
    For CentOS 7.7:
    rpm -qa | grep ambari-agent
    For Ubuntu 18:
    dpkg -l ambari-agent 
  14. Upgrade Ambari Server database schema. On the host running Ambari Server: ambari-server upgrade. When the Ambari Server database schema has been upgraded, you should see command output like this: Ambari Server ‘upgrade’ completed successfully.
  15. Start the Ambari Server. On the host running Ambari Server: ambari-server start
  16. Start all Ambari Agents. On each host in your cluster running an Ambari Agent: ambari-agent start
  17. Open Ambari Web UI. Point your browser to the Ambari Web UI:
    • When Ambari Server is configured for HTTPS: https://<your.ambari.server>:8443

    • When Ambari Server is configured for HTTP: http://<your.ambari.server>:8080

    where <your.ambari.server> is the name of your ambari server host. For example, c7401.ambari.apache.org.

  18. Log in using the Ambari administrator credentials that you have set up. For example, the default name/password is admin/admin. You will see a Restart indicator next to each service after upgrading. Ambari upgrade has modified the configuration properties of your cluster based on the new configuration types and properties being made available for each service with this release of Ambari. Review these changes by comparing the previous configuration with the latest version created by "ambari-upgrade".
  19. If you have configured Ambari to authenticate against an external LDAP or Active Directory, you must re-run ambari-server setup-ldap.
  20. If you have configured your cluster for Hive, Ranger or Oozie with an external database (Oracle, MySQL or PostgreSQL), you must run the following command to get the JDBC driver jar file in place: ambari-server setup --jdbc-db and --jdbc-driver.