Prerequisites for Upgrade
This page explains how to back up the database, increase the NameNode timeout value, prepare for an upgrade, and view unsupported components.
Increase the NameNode Timeout Value
To ensure that Ambari requests to start the NameNode and does not timeout during an upgrade, you must configure the Ambari NameNode restart timeout parameter using upgrade.parameter.nn-restart.timeout in the /etc/ambari-server/conf/ambari.properties file on the Ambari Server host.
You may need to add the restart timeout parameter and value to the Ambari server host following a default installation. For a large cluster, you must add 50% to the usual time (in seconds) that is required to restart the NameNode.
For example, on the Ambari server, observe the time (in seconds) required to restart the active NameNode. If the time taken to restart the active NameNode is more than 10 minutes (600 seconds) and the cluster is large, then add the following parameter to the /etc/ambari-server/conf/ambari.properties file on the Ambari Server host.
parameter.upgrade.parameter.nn-restart.timeout=900
After adding or resetting the Ambari NameNode restart parameter, restart the Ambari server before upgrading it to a newer version using the below command.
ambari-server restart
Back Up Service Configurations Using ce-utils
Clone the ce-utils Repository
Complete the following steps on the Ambari Server host:
- Clone the ce-utils repository:
git clone https://github.com/acceldata-io/ce-utils.git
- Navigate to the scripts directory:
cd ce-utils/ODP/scripts/
Back Up Service Configurations
- Run the configuration backup script:
bash ./config_backup_restore.sh
- Select All Services to back up the configurations for all services.
Remove Unsupported MPACK Services
Remove unsupported MPACK services before proceeding with the upgrade.
- On the Ambari Server host, run the MPACK service removal script:
bash ambari_delete_mpack_service.sh
- Review the list of MPACK-installed services displayed by the script.
- Enter the numbers corresponding to the unsupported services that you want to remove:
1,2,3,9,10,11,12,13,15,16,17
- The script displays the selected services and indicates that it will stop the services, back up their configurations, and delete them from the cluster.
- Review the selected services and type DELETE to confirm the removal:
Type DELETE to proceed: DELETE
- Monitor the service removal process.
Example output:
=== AIRFLOW ===
[INFO] Stopping AIRFLOW ...
request 157: FAILED 100%
[WARN] Stop did not complete cleanly for AIRFLOW.
Continue with backup and DELETE anyway? (yes/no):
Info: If a service fails to stop, investigate the failure and verify that proceeding with deletion is safe. If the failure is understood and deletion is approved, type yes to continue:
Continue with backup and DELETE anyway? (yes/no): yes
- The script proceeds with backing up the service configurations.
- Repeat the confirmation process, as prompted, until all selected unsupported services are removed.
Note: The supplied examples show different cluster names (upgcls and upg3366c) and different service selections. Verify the cluster name and selected services before confirming deletion.
Remove Unsupported Components
Remove unsupported services before proceeding with the ODP upgrade.
- On the Ambari Server host, navigate to the ce-utils repository and run the unsupported service removal script:
bash ./odp-upgrade-to-3_4_3_0/upgrade_files_343/ambari_delete_unsupported_services.sh
- Review the list of unsupported services displayed by the script.
Example output:
+------------------------------------------------------------+
| Ambari unsupported service removal |
| Targets: KAFKA, DRUID, OOZIE, SPARK2, SQOOP, ZEPPELIN. |
+------------------------------------------------------------+
AMBARISERVER : upgnode01
AMBARI_USER : admin
AMBARI_PASSWORD : ********
PORT : 8080
PROTOCOL : http
BACKUP_DIR : /root/basa/ce-utils/upgrade_backup
PYTHON_BIN : /bin/python3
[INFO] Cluster identified : upgcls
Unsupported services in 'upgcls':
# SERVICE STATE ACTION
--- ------------ ---------- ----------------
1 KAFKA STARTED STOP then DELETE
2 DRUID - not installed
3 OOZIE STARTED STOP then DELETE
4 SPARK2 - not installed
5 SQOOP - not installed
- 6 ZEPPELIN - not installed
- Review the services selected for removal. The script stops the installed unsupported services, backs up their configurations, and deletes them from the cluster.
Example output:
The following service(s) will be STOPPED,
their configs BACKED UP to
/root/basa/ce-utils/upgrade_backup,
then DELETED from cluster 'upgcls':
- KAFKA [STARTED]
- OOZIE [STARTED]
KAFKA3, and every service not in the list above,
is left in place.
- Type DELETE to stop and delete these services:
- Type DELETE to confirm the removal:
Type DELETE to stop and delete these services: DELETE
- If prompted, record the required passwords securely before continuing. Type yes after recording the passwords:
Have you recorded these passwords?
Type 'yes' to continue with OOZIE: yes
- Verify that the operation completed successfully.
Example output:
[INFO] Operation completed.
Config backups are under
/root/basa/ce-utils/upgrade_backup
(one <type>/<type>.json per config type).
Packages on the hosts were not removed.
Info: The script removes unsupported services from the Ambari cluster but does not uninstall their packages from the hosts.

Have a suggestion?