Upgrade and Migration Considerations
- Windows Server 2012R2 is not compatible with both Java17 binaries and the latest releases of Composer (23.2 and later). We recommend you use Windows 2019 or later to run Composer 26.2 and later.
- In general, you can upgrade directly to the latest version of Self-Service Analytics from a prior version.
- If you are upgrading to a newer version of Self-Service Analytics and you also want to change your encryption mode, perform the upgrade first and then complete the steps described in Encryption.
Prerequisites to Upgrading Self-Service Analytics
Prior to upgrading your software, we strongly recommend that you back up your metadata store. See Back Up the Metadata Store. Failure to have a proper backup could result in losing data during the upgrade process. For more information, see Back Up the Metadata Store.JDK Installation Option
An option to install OpenJDK is included in the installation and upgrade scripts provided by Self-Service Analytics. If you skip this option or if you install or upgrade the product manually, make sure that Java 17 is installed. If you do not, Self-Service Analytics will not start after the upgrade.Environment Prerequisites
- RHEL 9 (Red Hat)
- CentOS Stream 9
-
Ubuntu 22.04
Older versions of Ubuntu are nearing end of life (EOL) support. Self-Service Analytics will require an operating system upgrade before you upgrade your Composer instance.
- Windows Server version 2019 or higher.
- Server is connected to the Internet
- The user installing Self-Service Analytics is able to use the ‘sudo’ command in the server
Upgrade Steps for Self-Service Analytics
To begin the upgrade process, you must receive an email containing upgrade instructions from Technical Support. This email provides the upgrade script that you need to run on the server where the Self-Service Analytics environment resides.- Make sure you have read and performed the recommendations in Prerequisites to Upgrading Self-Service Analytics. Be sure to back up your metadata store before you upgrade (see Back Up the Metadata Store).
-
When you receive the email, enter the upgrade command on your target server to start the automated upgrade process. The following Self-Service Analytics components are downloaded on your target server:
- The Self-Service Analytics server
- Connector microservices
- Query Engine
- Data Writer microservice
-
After the upgrade script has completed, it will take a few minutes for Self-Service Analytics to complete its update of the metadata store. We recommend that you wait a few minutes before accessing Self-Service Analytics from your web browser.
If you receive a message indicating that Self-Service Analytics is not yet accessible, it may not have completed its setup yet. Wait a few more minutes before trying again or opening a Support ticket. If you continue to have issues accessing Self-Service Analytics from your browser, open a ticket with insightsoftware Technical Support. For information about accessing Self-Service Analytics, see Access and Use Self-Service Analytics.
If you notice some unusual behavior in the Self-Service Analytics UI after upgrading the Self-Service Analytics software (for example, if a drop-down menu does not open or the application does not react when you select a button), clear the browser cache and try again. If the problem persists, contact Support.
-
The upgrade script provided by Technical Support assumes that your Postgres metadata store is running locally on the same machine as the Self-Service Analytics code and automatically adds the new databases required to your local installation. If you have upgraded and your metadata store is installed on a different machine (not locally), you will need to manually create the following databases in your Postgres metadata store after the upgrade.
zoomdatazoomdata-keysetzoomdata-qezoomdata-upload
- The firewall setup you used with earlier versions of Self-Service Analytics should have been retained and your Self-Service Analytics IP address should remain unchanged, but see the following for more information:
- SQL connectors require a JDBC driver to be configured before you can connect to your data source. You can download the driver from the vendor’s site. Be aware that you need to download and configure JDBC drivers for the following Self-Service Analytics connectors: If you are using one of these connectors, you need to download and configure a JDBC driver as soon as your Self-Service Analytics server has finished upgrading. For steps, see Add a JDBC Driver.
- Reimport any CA certificates to Java 17 for Composer you installed prior to the Self-Service Analytics upgrade if needed. (In Prerequisites to Upgrading Self-Service Analytics, we recommended that you store them or back them up before the Self-Service Analytics upgrade.)
Upgrade Self-Service Analytics with Custom Applications
Because Self-Service Analytics is installed software, your organization must decide whether and when to install any particular upgrade. The following considerations will help you understand what is involved in upgrading to any version of Self-Service Analytics.Did You White Label Self-Service Analytics with a Custom CSS?
The CSS in Self-Service Analytics evolves with the client application. Differences in the CSS should be considered before you upgrade. You should examine all existing CSS and modify it accordingly.Does Your Application Use REST APIs?
Self-Service Analytics’s REST API offerings change regularly. Be sure you review the Release Notes regularly for changes in API endpoints.Does Your Application Use an iFrame-Embedded Dashboard?
Any dashboard already embedded in a custom application using an iFrame will continue to work with newer versions of Self-Service Analytics. iFrame-embedded dashboards have additional capabilities that are invoked using parameters included with the embedding code.Does Your Application Use the JavaScript Client Library?
The JavaScript client library is used to embed visuals or data directly into a web application without using an iFrame. Before upgrading Self-Service Analytics, consider the following topics.Visual Variables
Visual variables are written in standard JSON and left unstringified.JSON Modifications
Some key-value pairs are now wrapped in objects. Review the documentation for updated JSON samples.Deprecated Objects and Methods
Deprecated objects are methods are mentioned in the Release Notes.Have You Created a Custom Connector?
Custom connectors built to work with previous versions of Composer should continue to function as expected with newer versions.Upgrade a Self-Service Analytics Distributed Environment
To upgrade a Self-Service Analytics distributed environment from a previous version or from an environment that was not distributed, follow these steps.Step 1: Disable and Stop All Microservices
Step 1: Disable and Stop All Microservices
Step 2: Back Up the Postgres Metadata Store
Step 2: Back Up the Postgres Metadata Store
- From your terminal, SSH to your server.
- Stop all microservices. For appropriate commands based on your operating system, see Stop Microservices.
-
Navigate to the
/etc/zoomdatadirectory and create a backup folder: - Navigate to the backups directory.
-
Perform an SQL dump of the databases by entering the following commands:
- Restart all microservices. For appropriate commands based on your OS, see Start Microservices.
Step 3: Create A New Postgres Metadata Store
Step 3: Create A New Postgres Metadata Store
-
Complete PostgreSQL Setup Steps
The instructions to set up PostgreSQL as Self-Service Analytics’s metadata store differ depending on the Linux operating system used by the target server. Select a topic below:PostgreSQL Setup for CentOS Environments
New installations of Self-Service Analytics use PostgreSQL 16. If you are upgrading your environment to Self-Service Analytics, you can retain your existing PostgreSQL version.-
Add the PostgreSQL Yum repository to CentOS by running this command calling the appropriate PostgreSQL version:
-
Install the PostgreSQL client and server packages by running these commands:
-
After installation, initialize the PostgreSQL database:
-
Start and enable the PostgreSQLmicroservice:
-
Confirm that the service started without errors:
If necessary, start it:
-
If you have a running firewall and remote clients should be able to connect to the PostgreSQL metadata store, modify the firewall to allow the PostgreSQL service:
- If the PostgreSQL database is operating in a cluster, repeat steps 3-6 for each instance of the database.
-
Set up the PostgreSQL Admin user and password:
PostgreSQL Setup for Ubuntu Environments
New installations of Self-Service Analytics use PostgreSQL 16. If you are upgrading your environment to Self-Service Analytics, you can retain your existing PostgreSQL version.-
If this is a new server instance, update your current system packages:
A reboot is necessary after an upgrade.
-
Import the GPG key and add the appropriate PostgreSQL version repository to your Ubuntu machine. Run the following commands:
The added repository contains many different packages and third-party add-ons, including:
postgresql-client,postgresql,libpq-dev,postgresql-server-dev, andpgadmin packages. -
Update the package list and install the PostgreSQL server and client packages:
The PostgreSQL microservice is started and will start with every system reboot.
-
If you have a running firewall and remote clients should be able to connect to the PostgreSQL metadata store, modify the firewall to allow the PostgreSQL service port:
-
Test the PostgreSQL connection.
-
During installation, a user named
postgresis created automatically with full superadmin access to your entire PostgreSQL instance. Before you switch to this account, your logged in system user should have sudo privileges: -
Replace the
postgrespassword with a strong password: -
Start PostgreSQL using this command.
-
Get connection details as shown below.
-
Create a test database called
mytestdbto see if everything is working.You can list the created databases by running: -
Connect to your test database.
-
During installation, a user named
-
Add the PostgreSQL Yum repository to CentOS by running this command calling the appropriate PostgreSQL version:
-
Change Metadata Store Authentication to MD5
If you installed Self-Service Analytics’s metadata store on a server running CentOS or RedHat, complete the configuration steps below. If the server is running Ubuntu, ignore these instructions.Change authentication for your metadata store to MD5New installations of Self-Service Analytics use PostgreSQL 16. If you are upgrading your environment to Self-Service Analytics, you can retain your existing PostgreSQL version.-
Edit the
pg_hba.conffile for the appropriate version of PosgreSQL. -
Change METHOD to MD5.
-
Restart PostgreSQL. In CentOS environments, run:
-
Edit the
-
Create the Metadata Store User
A Self-Service Analytics user must be established for the Postgres metadata store.To create the Self-Service Analytics user for the Postgres metadata store, complete the following steps:-
For all Linux operating systems, create the Self-Service Analytics user in PostgreSQL. Run the following command:
Substitute the PostgreSQL user name and password for
<db_username>and<db_password>. -
Create the stores that will hold the Self-Service Analytics metadata, upload data, keyset, and query engine data. Run the following series of commands, substituting the user name for
<db_username>:
-
For all Linux operating systems, create the Self-Service Analytics user in PostgreSQL. Run the following command:
-
Configure the Metadata Store for SSL
If you have specified SSL connections for the metadata store JDBC connections inzoomdata.propertiesfile, the root CA certificate that is used for the PostgreSQL database must be added to the/opt/zoomdata/.postgresqldirectory. This directory does not exist by default and will need to be created. Complete the following steps.-
Change to the
/opt/zoomdatadirectory as a superuser: -
Create a
.postgresqlsubdirectory. -
Copy the root CA certificate for the PostgreSQL database into the new directory:
-
Change to the
-
Configure the Metadata Store for a Distributed Environment
The PostgreSQL data store must be configured so it is available to all Self-Service Analytics instances in a distributed environment. For more information about PostgreSQL high availability clustering, see PostgreSQL documentation on high availability environments.Configure the PostgreSQL data store so it is available to all instancesNew installations of Self-Service Analytics use PostgreSQL 16. If you are upgrading your environment to Self-Service Analytics, you can retain your existing PostgreSQL version.-
Edit the
postgresql.conffile using the appropriate version and paths: -
Set the following property in
postgresql.confand save the file. -
Edit the
pg_hba.conf file: -
Add the following to the
pg_hba.conf file: -
Save the
pg_hba.conffile. -
Restart the PostgreSQL service:
-
Edit the
Step 4: Restore the Metadata From the Metadata Store Backup
Step 4: Restore the Metadata From the Metadata Store Backup
- From your terminal, SSH to your Self-Service Analytics server.
- Stop all microservices. For appropriate commands based on your OS, see Stop Microservices.
-
Navigate to your backup directory and enter the following commands:
- Restart all microservices. For appropriate commands based on your OS, see Restart Microservices.
Step 5. Upgrade Your Self-Service Analytics Software On All Servers
Step 5. Upgrade Your Self-Service Analytics Software On All Servers
-
For each instance, run the following commands to set up the environment variables for the installation:
where:
<postgres-host>and<postgres-port>are the host name and port number of the Self-Service Analytics PostgreSQL metadata store<postgres-db-username>and<postgres-db-password>are the user name and password required to access the Self-Service Analytics PostgreSQL metadata store.
-
In high availability (HA) environments only, run the following commands for each instance to set up the environment variables for the Consul configuration:
where
<instance_ip>is the IP address of the Self-Service Analytics instance. -
In each instance, run the following command to set up the environment variables for specific enterprise data connector (EDC) packages:
where
<edc>is the name of the data connector you would like to install. You must install the PostgreSQL connector because it connects to the metadata store. Data connector names are the same as their connector microservice names without thezoomdata-edc-prefix. See Data Connector Reference. -
Disable the automatic PostgreSQL metadata store upgrade by running the following command:
-
Run the bootstrap installation script after exporting the environment variables in the previous steps.
where
<v.r>is the Self-Service Analytics version and release. -
After the installation, ensure that the following property files are correctly set up on each node. Add or update the properties as necessary. In each, the IP address, port, user name, and password of the PostgreSQL metadata store should be specified.
In the
zoomdata.propertiesfile:In thequery-engine.propertiesfile: -
Ensure that port 8080 is open on all your back-end servers to support load balancing. If not, run the following command:
- Repeat these steps for every instance (node) in your cluster. For additional information on how many nodes to deploy in a high availability environment, see Determine How Many Nodes to Deploy.
Step 6. Set Up a Load Balancer (Optional)
Step 6. Set Up a Load Balancer (Optional)
-
On your machine, run the following command to install HAProxy:
-
Navigate to the HAProxy folder.
-
Create a certificate or copy an existing certificate to the
/etc/haproxyfolder. If you need to create a certificate, run the following commands: -
In the same folder, replace the contents of the
haproxy.cfgfile with the contents of the Self-Service Analytics haproxy configuration file. In the file, replace the<node1-ip>and<node2-ip>with the IP addresses of your servers. If you have more than two servers, add additional lines for each server. - Save your changes and exit the file.
-
Start the HAProxy microservice
-
Use the following command to configure the HAProxy microservice to start automatically in CentOS environments:
-
Ensure that port 443 is open on your load balancer. If not, run the following command:
Step 7. Configure Consul Services for High Availability (Optional)
Step 7. Configure Consul Services for High Availability (Optional)
- Install all the individual Consul instances on each node. This happens automatically when you use the bootstrap installation procedure.
- Make sure that a firewall is opened in your environment for ports 8500, 8300, 8301, and 8302 on all hosts that will form the Consul cluster.
-
Edit the Consul custom configuration file
consul.jsonon each node.If you did not install the Consul instances using the bootstrap installation procedure, its custom configuration file might have a different name and location. -
Configure the Consul custom configuration file for each Consul instance so it includes these lines:
The
<node-name>settings for each Consul node should be unique within the cluster. Each Consul instance in the cluster should have a different name. A bind address (bind_addr) and client address (client_addr) of0.0.0.0allow the Consul to listen over all network interfaces. Thebind_addrsetting can be limited to the host’s IP address instead. Thebootstrapsetting should be set totrueon one node in the cluster only. Set it tofalseon all other cluster nodes. For theretry_joinoption, list all the host IP addresses in the cluster. At least one must be listed. If you are using cloud-hosted instances such as AWS or GCE, theretry_joinoption can be changed to something like this (assuming each cluster node is an AWS EC2 instance and has atag_keycalledRolethat is assigned tozoomdata-cluster-node): -
Restart each Consul instance and wait for several seconds for the cluster to form. Then validate the cluster by entering the following command:
The following shows sample output from this command:
- When the Consul cluster has formed correctly, restart all the microservices for the instance. See Restart Microservices.
Step 8: Vacuum the Metadata Store
Step 8: Vacuum the Metadata Store
- Upgrade your version of Self-Service Analytics (if you have not already done so). This automatically upgrades the PostgreSQL metadata store.
- Stop Self-Service Analytics and any process connecting to its PostgreSQL metadata store. See Stop Microservices.
- Back up the PostgreSQL metadata store. See Back Up the Metadata Store.
- Connect to the PostgreSQL database.
-
Run the following command in the console for the PostgreSQL database:
For more information about VACUUM, see https://www.postgresql.org/docs/12/sql-vacuum.html.
- After vacuuming completes, start Self-Service Analytics. See Start Microservices.
Step 9: Enable and Start All Self-Service Analytics Microservices
Step 9: Enable and Start All Self-Service Analytics Microservices
Important Notices
This software is offered on a quarterly release schedule. The current major release is Simba Self-Service Analytics 26.3.Upgrade and Migration Considerations
- Windows Server 2012R2 is not compatible with both Java17 binaries and the latest releases of Composer (23.2 and later). We recommend you use Windows 2019 or later to run Composer 26.2 and later.
- In general, you can upgrade directly to the latest version of Self-Service Analytics from a prior version.
- If you are upgrading to a newer version of Self-Service Analytics and you also want to change your encryption mode, perform the upgrade first and then complete the steps described in Encryption.