Skip to main content

Upgrading Your HA-C Cluster (Legacy)

Note

High Availability Clustering is a legacy feature that only works on the Orient database.

All new deployments should use one of our new high availability or resilient deployment options described in Resiliency and High Availability.

Upgrading an HA-C Environment from 3.x to 3.y

Prepare for HA-C Upgrade

Do not upgrade unless you have established a reliable and working HA-C backup and restore process. This includes a backup of shared blob stores filesystems.

HA-C upgrade is not supported and will fail when:

  • clustering is enabled ( nexus.clustered=true )

  • databases are read-only

  • restoring databases from a backup created with an earlier version

Download, unpack and pre-configure new version distribution install files on each cluster node before performing the upgrade.

Perform HA-C Upgrade

We will refer to your three nodes as NODE-A, NODE-B and NODE-C.

NODE-A will be upgraded to a new version in unclustered mode.

NODE-B and NODE-C will join and sync databases from NODE-A when they start for the first time with the new version.

For each individual node being upgraded, make sure you adhere to the instructions for upgrading a single node, especially the part of merging configurration file changes

  1. Schedule an outage for your service; deny access to all nodes in the cluster using your load balancer.

  2. Perform an HA-C backup. Backup the databases of NODE-A and at least one other node.

  3. Shut down NODE-C gracefully and wait for it to stop.

  4. Shut down NODE-B gracefully and wait for it to stop.

  5. Edit NODE-A $data-dir/etc/nexus.properties file and set nexus.clustered=false to disable clustering. Save the file.

  6. Shut down NODE-A gracefully and wait for it to stop.

  7. Start NODE-A using the new version. Wait for it to startup in un-clustered mode and perform automatic upgrade steps.

  8. Verify NODE-A is functioning after the upgrade in un-clustered mode, e.g. use the UI and access repository content.

  9. If NODE-A fails verification, follow our HA-C upgrade rollback procedure.

  10. If NODE-A passes verification, then delete the NODE-B and NODE-C $data-dir/db directory (you have already made database backups earlier).

  11. Edit NODE-A $data-dir/etc/nexus.properties file and set nexus.clustered=true to enable clustering on the next startup. Save the file.

  12. Restart NODE-A. Wait for it to startup in clustered mode.

  13. Start NODE-B with the new version. Wait for it to startup in HA-C mode and sync the databases from NODE-A.

  14. Start NODE-C with the new version. Wait for it to startup in HA-C mode and sync the databases from NODE-A or NODE-B.

  15. Sign-in as an administrator and confirm that all nodes are visible in the SystemNodes administration page and that there are no status warnings about cluster health.

  16. Verify that all nodes are functioning normally on the new version, e.g. use the UI and access repository content.

  17. Restore access through your load balancer and resume operations.

Rollback a Failed HA-C Upgrade

Do not attempt to start a older version of NXRM against an already upgraded or partially upgraded data directory or databases. This will fail.

The only supported way to rollback to an old version is to start NXRM against a set of databases and data directory were created using an identical NXRM version.