1.1. Rolling Upgrade Prerequisites

To perform a Rolling Upgrade, your cluster must meet the following prerequisites. If you do not meet these upgrade prerequisites, you can consider an Express Upgrade.

HDFS

RequirementDescription

NameNode HA

NameNode HA must be enabled and working properly. From Ambari Web, the NameNodes, ZKFailoverControllers and JournalNodes must be “green” and showing no alerts. See the Ambari User's Guide for more information, Configuring NameNode High Availability.

NameNode Truncate

In HDP 2.2, truncate must be disabled and this prerequisite is REQUIRED. There is an hdfs-site configuration dfs.allow.truncate, This configuration property is set to true if truncate is enabled. If the property is not set or is false, truncate is disabled.

In 2.3 onwards, truncate is always enabled, which is acceptable. Therefore, this check is not applicable and will not be performed with HDP 2.3 maintenance upgrades.

YARN

RequirementDescription

Timeline Service State Recovery

YARN state recovery should be enabled. Check the Services > YARN > Configs > Advanced property yarn.timeline-service.recovery.enabled is set to true .

ResourceManager Work Preserving Recovery

YARN work preserving recovery should be enabled. Check the Services > YARN > Configs > Advanced property yarn.resourcemanager.work-preserving-recovery.enabled is set to true.

ResourceManager HA

ResourceManager HA should be enabled to prevent a disruption in service during the upgrade. See the Ambari User's Guide for more information on Configuring ResourceManager High Availability.

This prerequisite is OPTIONAL.

MapReduce2

RequirementDescription

MapReduce Distributed Cache

MapReduce should reference Hadoop libraries from the distributed cache in HDFS. Refer to the YARN Resource Management guide for more information.

JobHistory State Recovery

JobHistory state recovery should be enabled. Check the following: Services > MapReduce > Configs > Advanced property mapreduce.jobhistory.recovery.enable is set to true . Once enabled, dependent properties for mapreduce.jobhistory.recovery.store.class and mapreduce.jobhistory.recovery.store.leveldb.path should also be set.

Encrypted Shuffle

If encrypted shuffle has been enabled, the ssl-client.xml file must be copied to /etc/hadoop/conf/secure directory on each node in the cluster.

Tez

RequirementDescription

Tez Distributed Cache

Tez should reference Hadoop libraries from the distributed cache in HDFS. Check the Services > Tez > Configs configuration and confirm tez.lib.uris is set with the path in HDFS for the tez.tar.gz file.

Hive

RequirementDescription

Hive Dynamic Service Discovery

HiveServer2 dynamic service discovery should be configured for Rolling Upgrade.

HiveServer2 Port

During the upgrade, Ambari will switch the HiveServer2 port from 10000 to 10010 (or 10011 if using HTTP transport mode).

Hive Client Retry

Hive client retry properties must be configured. Review the Services > Hive > Configs configuration and confirm hive.metastore.failure.retries and hive.metastore.client.connect.retry.delay are specified.

Multiple Hive Metastore

Multiple Hive Metastore instances are recommended for Rolling Upgrade. This ensures that there is at least one Hive Metastore running during the upgrade process. Additional Hive Metastore instances can be added through Ambari.

This prerequisite is OPTIONAL.

Oozie

RequirementDescription

Oozie Client Retry

Oozie client retry properties must be configured. Review the Services > Oozie > Configs > oozie-env configuration and confirm "export OOZIE_CLIENT_OPTS="${OOZIE_CLIENT_OPTS} -Doozie.connection.retry.count=<number of retries>" is specified.