3.1 ODP Rolling upgrade
Follow the below steps for ODP rolling upgrade.
Pre-requisite
Stop the service auto restart

Perform Service check for all the installed services


In case of Zookeeper service check failure, perform the following workaround.
16:06:04,811 |-ERROR in ch.qos.logback.core.FileAppender[TRACEFILE] - openFile(/var/log/zookeeper/zookeeper_trace.log,true) call failed. java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_trace.log (Permission denied) at java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_trace.log (Permission denied) 16:06:04,813 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[RFAAUDIT] - openFile(/var/log/zookeeper/zookeeper_audit.log,true) call failed. java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_audit.log (Permission denied) at java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_audit.log (Permission denied) 16:06:05,789 |-ERROR in ch.qos.logback.core.FileAppender[TRACEFILE] - openFile(/var/log/zookeeper/zookeeper_trace.log,true) call failed. java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_trace.log (Permission denied) at java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_trace.log (Permission denied) 16:06:05,791 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[RFAAUDIT] - openFile(/var/log/zookeeper/zookeeper_audit.log,true) call failed. java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_audit.log (Permission denied) at java.io.FileNotFoundException: /var/log/zookeeper/zookeeper_audit.log (Permission denied)Workaround
File Location zookeeper → configs → Advanced zookeeper-logback
Comment out the TRACEFILE and RFAAUDIT blocks.
<!-- <property name="zookeeper.tracelog.dir" value="{{zk_log_dir}}" /> <property name="zookeeper.tracelog.file" value="zookeeper_trace.log" /> <appender name="TRACEFILE" class="ch.qos.logback.core.FileAppender"> <File>${zookeeper.log.dir}/${zookeeper.tracelog.file}</File> <encoder> <pattern>%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>TRACE</level> </filter> </appender> <property name="zookeeper.auditlog.file" value="zookeeper_audit.log" /> <property name="zookeeper.auditlog.threshold" value="INFO" /> <property name="audit.logger" value="INFO, RFAAUDIT" /> <appender name="RFAAUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${zookeeper.log.dir}/${zookeeper.auditlog.file}</File> <encoder> <pattern>%d{ISO8601} %p %c{2}: %m%n</pattern> </encoder> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>${zookeeper.auditlog.threshold}</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <maxIndex>${zookeeper.log.maxbackupindex}</maxIndex> <FileNamePattern>${zookeeper.log.dir}/${zookeeper.auditlog.file}.%i.%i</FileNamePattern> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>${zookeeper.log.maxfilesize}</MaxFileSize> </triggeringPolicy> </appender> <logger name="org.apache.zookeeper.audit.Slf4jAuditLogger" additivity="false" level="${audit.logger}"> <appender-ref ref="RFAAUDIT" /> </logger>-->Restart Zookeeper and verify the service check.
Install the Upgrade Packages and Register the VDF file
- On the Ambari UI, navigate to Admin > Manage Ambari > Versions > select ODP 3-3.
- Click ODP 3-3 and select the Add Version from the drop-down.

- Upload the 3.3.6.1-1 VDF ODP file and click Read Version Info.
Sample VDF file
Refer the sample VDF file and copy it to a local machine to proceed further.

- Save the ODP-3.3.6.1-1 details appearing on the screen.

Install the 3.3.6.1-1 packages
- Navigate to Admin > Versions. On the Versions page, click install for ODP-3.3.6.1-1 to download the latest packages on the cluster.

- On the Versions page, click Install Packages for the version 3.3.6.1-1.
- Click OK and confirm the installation package.

The below screen shows that the ODP-3.3.6.1-1 installation is in progress.

The below screen shows that the ODP-3.3.6.1-1 installation is in progress for the following hosts.

Once the installation of the ODP-3.3.6.1-1 package is complete, proceed with the upgrade process.
- After the installation packages step is completed, you can see the Upgrade option. Click Upgrade to proceed further.

- Upon clicking on Upgrade, you can see the two upgrade options: Rolling and Express. Choose the Rolling Upgrade option to continue with the upgrade process.

- Select YES to confirm the Rolling Upgrade to ODP-3.3.6.1-1.

The below screenshot shows the progress of the Rolling Upgrade.

- Make sure to take all the Database backups.

If required, pause the upgrade, restart the Zeppelin manually, and resume the upgrade.

- Resume the upgrade, complete, and finalize it.

The screenshot below confirms the successful completion of the rolling upgrade to ODP version 3.3.6.1-1.

The screenshot below displays the current version of ODP, which is ODP-3.3.6.1-1.

Mpacks Restore
Perform the following steps to restore Mpacks.
- Install Mpacks on Ambari Server node.
ambari-server install-mpack --mpack=ambari-mpacks-airflow-2.8.3.tar.gzambari-server install-mpack --mpack=ambari-mpacks-impala-4.4.0.tar.gzambari-server install-mpack --mpack=ambari-mpacks-ozone-1.4.1.tar.gzambari-server install-mpack --mpack=ambari-mpacks-spark3-3.5.1.tar.gz- Install the services from Ambari.
- Stop the mpack services from ambari UI.
- Restore the config at mysql DB.
Now restore the configuration backups for the mpacks that were taken during the upgrade prerequisites phase. For details, see 1. Upgrade Prerequisites.
mysql> use ambariReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedRestore Airflow Config
Run the following script.
mysql> update clusterconfig a set config_data = (select config_data from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM service_conf_bck.configs_prior_patch WHERE service_name = 'AIRFLOW') and service_name = 'AIRFLOW'), config_attributes = (select config_attributes from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM serviceconfig WHERE service_name = 'AIRFLOW') and service_name = 'AIRFLOW') where config_id in (select config_id from serviceconfigmapping where service_config_id in (select service_config_id from serviceconfig where service_name = 'AIRFLOW' and version = (select max(version) from serviceconfig where service_name = 'AIRFLOW')) );Response:
Query OK, 3 rows affected (0.06 sec)Rows matched: 27 Changed: 3 Warnings: 0Restore Ozone Configs
Run the following script.
update clusterconfig a set config_data = (select config_data from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM service_conf_bck.configs_prior_patch WHERE service_name = 'OZONE') and service_name = 'OZONE'), config_attributes = (select config_attributes from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM serviceconfig WHERE service_name = 'OZONE') and service_name = 'OZONE') where config_id in (select config_id from serviceconfigmapping where service_config_id in (select service_config_id from serviceconfig where service_name = 'OZONE' and version = (select max(version) from serviceconfig where service_name = 'OZONE')) );Response:
Query OK, 16 rows affected (0.06 sec)Rows matched: 24 Changed: 16 Warnings: 0Restore Impala Configs
Run the following script.
update clusterconfig a set config_data = (select config_data from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM service_conf_bck.configs_prior_patch WHERE service_name = 'IMPALA') and service_name = 'IMPALA'), config_attributes = (select config_attributes from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM serviceconfig WHERE service_name = 'IMPALA') and service_name = 'IMPALA') where config_id in (select config_id from serviceconfigmapping where service_config_id in (select service_config_id from serviceconfig where service_name = 'IMPALA' and version = (select max(version) from serviceconfig where service_name = 'IMPALA')) );Response:
Query OK, 1 row affected (0.04 sec)Rows matched: 4 Changed: 1 Warnings: 0Restore Kudu Configs
Run the following script.
update clusterconfig a set config_data = (select config_data from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM service_conf_bck.configs_prior_patch WHERE service_name = 'KUDU') and service_name = 'KUDU'), config_attributes = (select config_attributes from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM serviceconfig WHERE service_name = 'KUDU') and service_name = 'KUDU') where config_id in (select config_id from serviceconfigmapping where service_config_id in (select service_config_id from serviceconfig where service_name = 'KUDU' and version = (select max(version) from serviceconfig where service_name = 'KUDU')) );Response:
Query OK, 1 row affected (0.03 sec)Rows matched: 10 Changed: 1 Warnings: 0Restore Spark3 Configs
Run the following script.
update clusterconfig a set config_data = (select config_data from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM service_conf_bck.configs_prior_patch WHERE service_name = 'SPARK3') and service_name = 'SPARK3'), config_attributes = (select config_attributes from service_conf_bck.configs_prior_patch b where a.type_name = b.type_name and version = (SELECT MAX(version) FROM serviceconfig WHERE service_name = 'SPARK3') and service_name = 'SPARK3') where config_id in (select config_id from serviceconfigmapping where service_config_id in (select service_config_id from serviceconfig where service_name = 'SPARK3' and version = (select max(version) from serviceconfig where service_name = 'SPARK3')) );Response:
Query OK, 1 row affected (0.03 sec)Rows matched: 12 Changed: 1 Warnings: 0