Guides → Upgrade from 5.0.x to 5.1

Prior to upgrade, please review the Release Model. The Release Model describes the release statuses: Preview and Generally Available. Refer to the Release Model to identify the release version and status that is most suitable for upgrading your Sandbox, Developer, User Acceptance Testing (UAT), or Production environment.

Important

Prior to upgrade, this release requires the installation of the Chromium headless browser on all hosts for the Incorta cluster. In addition, all hosts must have adequate disk space for shared storage to support the migration to a new shared storage directory structure. Lastly, if your Incorta cluster has a separate Apache Zookeeper cluster, you must also upgrade Apache Zookeeper.

Warning

You must either run the Versioning Migration Tool after upgrading the cluster metadata database or perform a full load for all physical schemas in all tenants.


Upgrade from Incorta 5.0.x to 5.1

This guides details how to upgrade a standalone Incorta cluster. Upgrading your Incorta cluster to Release 5.1 requires team resources:

  • a System Administrator with root access to the host or hosts running Incorta Nodes, the host running the Cluster Management Console (CMC), and the host or hosts running Apache Spark
  • a CMC Administrator
  • a Database Administrator
  • a Super User that can access each tenant in the Incorta environment
  • an Incorta Developer to resolve identified issues with formula expressions, schema alias, joins between tables, and dependencies between objects such as dashboards and business schemas

It also requires time as these general timelines for various procedures and processes indicate:

StageEstimated Time
Prepare for Upgrade Readiness15 minutes to 3 hours
Achieve Upgrade Readiness2 hours to 3 days
Stop the Incorta cluster5 minutes to 30 minutes
Create backups15 minutes to 3 hours
Install the Chromium Headless browser15 minutes
Upgrade Apache Zookeeper15 minutes to 1 hour
Upgrade the Incorta cluster15 minutes to 3 hours
Start the Incorta CMC5 minutes to 5 hours
Upgrade the Incorta Metadata database5 minutes to 3 hours
Run the Versioning Migration Tool15 minutes to 8 hours
Start the Incorta cluster5 minutes to 5 hours
Verify the successful upgrade15 minutes to 1 day

Prepare for Upgrade Readiness

To prepare for Upgrade Readiness requires:

  • a System Administrator with root access to the host or hosts running Incorta Nodes as well as the host running the Cluster Management Console (CMC)
  • a CMC Administrator
  • a Database Administrator

The estimated time to complete the following is from 15 minutes to 3 hours:

  • Pause all scheduled jobs
  • Export all tenants
  • Add a Create View database grant

Pause all scheduled jobs in the CMC

Enable this setting to pause active scheduled schema loads, dashboards, and data alerts. This is helpful when importing or exporting an existing tenant. Here are the steps to enable this option as default tenant configuration:

  • In the Navigation bar, select Clusters.
  • In the cluster list, select a Cluster name.
  • In the canvas tabs, select Cluster Configurations.
  • In the panel tabs, select Default Tenant Configurations.
  • In the left pane, select Data Loading.
  • Enable the Pause Scheduled Jobs setting.
  • Select Save.

Export of all tenants with the Tenant Management Tool

A System Administrator with root access to the host running the Cluster Management Console (CMC) is able to run the Tenant Management Tool (TMT). Here are the steps:

  • Secure shell in to the CMC host.
  • As the incorta user, navigate to the installation path of the TMT. The default installation path for the TMT is:
<CMC_INSTALLATION_PATH>/IncortaAnalytics/cmc/tmt
  • Export ALL tenants
./exportAlltenants.sh -c <CLUSTER_NAME> -f False /tmp/<TENANT_EXPORT>.zip

Add a Create View database grant

A Database Administrator with root access to the MySQL or Oracle database server that runs the Incorta Metadata database is able to add the Create View database grant. The estimated time to complete the following is from 5 minutes.

MySQL

Here are the steps for MySQL:

  • Sign in to the MySQL Incorta metadata database as the root user.
mysql -h0 -uroot -proot_password incorta_metadata
Note

-h = host, where 0 is a shorthand reference for localhost
-u = user, where root is the user
-p = password, where the password is root_password
incorta_metadata is the database

  • Verify the incorta database user for the incorta_metadata database.
SELECT User, Host FROM mysql.user WHERE user = 'incorta';
  • Verify the current grants for all users.
SHOW GRANTS for 'incorta'@'locahost';
SHOW GRANTS for 'incorta'@'127.0.0.1';
SHOW GRANTS for 'incorta'@'192.168.128.101';
  • If needed, add the CREATE VIEW grant to the all incorta users.
GRANT CREATE VIEW ON `incorta_metadata`.* TO 'incorta'@'localhost';
GRANT CREATE VIEW ON `incorta_metadata`.* TO 'incorta'@'127.0.0.1';
GRANT CREATE VIEW ON `incorta_metadata`.* TO 'incorta'@'192.168.128.101';

Oracle

To add grants for a user in an Oracle database, please refer to Oracle dDatabase SQL Language Reference.


Achieve Upgrade Readiness

Please review Concepts → Upgrade Readiness. Achieving Upgrade Readiness requires:

  • a System Administrator with root access to the host or hosts running Incorta Nodes as well as the host running the Cluster Management Console (CMC)
  • a CMC Administrator
  • a Super User that can access each tenant in the Incorta environment
  • an Incorta Developer to resolve identified issues with formula expressions

The estimated time to complete the following is from 2 hours to 3 days:

  • Resolve alias issues with the Alias Sync Tool
  • Resolve Severity-1 issues that the Inspector Tool identifies

Resolve alias issues with the Alias Sync Tool

Here are the resources required to run the Alias Sync Tool:

  • A System Administrator with root access to the host running an Incorta Node is able to run the Alias Sync Tool.

To resolve issues with Alias tables, you must download the alias_sync.py file, secure copy the file to IncortaNode/bin directory, and the run the script for each tenant in your cluster.

To learn more, please review Tools → Alias Sync Tool.

Resolve Severity-1 issues that the Inspector Tool identifies

Here are the resources required to run the Inspector Tool:

  • For a given tenant, a CMC Administrator enables the Inspector Tool Scheduler and schedules an Inspector Tools job. A CMC Administrator also downloads the Inspector Tool related schema, business schema, and dashboards files for all tenants.
  • A Super User that can access each tenant in the Incorta cluster.
  • An Incorta Developer to resolve the identified issues in the 1- Validation UseCases dashboard.

For a given tenant, the Inspector Tool checks the lineage references of Incorta metadata objects including tables, schemas, business schemas, business schema views, dashboards, and session variables. It also checks for inconsistencies and validation errors in joins, tables, views, formulas, and dashboards.

Important

Prior to upgrading Incorta, you must enable and configure the Inspector Tool for all tenants. In addition, you must resolve all Severity-1 issues.

To learn more, please review Tools → Inspector Tool.


Stop the Incorta cluster

Here are the resources required to stop all the services in the Incorta cluster:

  • a System Administrator with root access to the host or hosts running Incorta Nodes, the host running the Cluster Management Console (CMC), and the host or hosts running Apache Spark

The estimated time to stop the Incorta cluster and all related services is from 5 minutes to 30 minutes. Here are the steps involved in stopping the Incorta cluster:

Stop the Notebook Add-on Service

Note

Your Incorta cluster may not have enabled and configured the Notebook Add-on Service for a given tenant. You enable the Notebook Add-on as an Incorta Labs feature.

In order to stop the Notebook Add-on Service, you need to know the name of the service. You can read the services.index file to find out the name of Notebook Add-on running on an Incorta Node that is running the Analytics Service.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/notebooks/services/services.index

Once you know the name of the Notebook Add-on Service, then execute the following:

NOTEBOOK_ADD_ON=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stopNotebook.sh ${NOTEBOOK_ADD_ON}

Stop the Analytics Service

In order to stop the Analytics Service, you need to know the name of the service. You can read the services.index file to find out the name of the services running on an Incorta Node.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/services/services.index

Once you know the name of the Analytics Service, you can then execute the following:

ANALYTICS_SERVICE=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stopService.sh ${ANALYTICS_SERVICE}

Stop the Loader Service

In order to stop the Loader Service, you need to know the name of the service. You can read the services.index file to find out the name of the services running on an Incorta Node.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/services/services.index

Once you know the name of the Loader Service, you can then execute the following:

LOADER_SERVICE=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stopService.sh ${LOADER_SERVICE}

Stop Apache Spark

You can stop Apache Spark using the stopSpark.sh shell script:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stopSpark.sh

Stop the CMC

The default directory for the CMC is ~/IncortaAnalytics/cmc. Stop the CMC with the stop-cmc.sh shell script:

<CMC_INSTALLATION_PATH>/cmc/stop-cmc.sh

Stop the Node Agent

For each Incorta Node, run the following:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/nodeAgent/agent.sh stop

Stop the Export Server

To stop the Export Server, run the following:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stop-exportserver.sh

Stop Apache Zookeeper

To stop Apache Zookeeper, run the following:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/stop-zookeeper.sh

Create backups

Here are the resources required to create a various backups:

  • A Database Administrator with root access to the MySQL or Oracle database server that runs the Incorta Metadata database.
  • A System Administrator with root access to the host or hosts running Incorta Nodes, the Cluster Management Console (CMC), and Apache Spark.

The estimated time to complete the following is from 30 minutes to 3 hours:

  • Create a backup of the Incorta Metadata database
  • Create a backup of the IncortaAnalytics directory
  • Create a backup of the Apache Spark configuration files

Create a backup of the Incorta Metadata database

Here are the resources required to create a backup of the Incorta Metadata database:

  • A Database Administrator with root access to the MySQL or Oracle database server that runs the Incorta Metadata database.

MySQL

To create a backup of the incorta metadata database, use mysqldump command line utility:

mysqldump -u [user] -p [database_name] > [filename].sql
Example

Here is example with the MySql user as root with the password incorta_root:

mysqldump -uroot -pincorta_root incorta_metadata > /tmp/incorta_metadata.sql

Oracle

To create a backup of the incorta metadata database, please refer to Oracle documentation.

Create a backup of the Incorta installation directory

To create a backup of the Incorta installation directory, use the following command:

zip -r IncortaAnalytics_Backup.zip <INCORTA_NODE_INSTALLATION_PATH>

Create a backup of the Apache Spark configuration files

Create a backup of the following spark configuration files present in the $SPARK_HOME/conf directory:

  • spark-defaults.conf
  • spark-env.sh
SPARK_HOME=<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/spark
cd $SPARK_HOME/conf
zip -r Spark_Conf_Backup.zip spark-defaults.conf spark-env.sh

Install the Chromium headless browser

This release requires the installation of various operating system libraries for a Chromium headless browser. The Chromium headless browser supports the generation of a dashboard in either HTML or PDF format.

CentOS and RedHat operating systems

A Linux system administrator with root access to the host or host in the Incorta cluster must install the following packages prior to upgrade or for a new installation:

sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y
sudo yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

To install Chinese, Japanese, and Korean fonts, install the following packages:

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y google-noto-cjk-fonts

Ubuntu operating systems

A Linux system administrator with root access to the host or host in the Incorta cluster must install the following packages prior to upgrade or for a new installation:

sudo apt install libxkbcommon-x11-0 libgbm1 libgtk-3-0

To install Chinese, Japanese, and Korean fonts, install the following packages:

sudo apt-get install fonts-noto
sudo apt-get install fonts-noto-cjk

Chromium headless browser dependencies

Here is a list of libraries and packages that a Chromium headless browser requires:

libpthread.so.0
libdl.so.2
librt.so.1
libm.so.6
libc.so.6
ld-linux-x86-64.so.2
libX11.so.6
libX11-xcb.so.1
libxcb.so.1
libXcomposite.so.1
libXcursor.so.1
libXdamage.so.1
libXext.so.6
libXfixes.so.3
libXi.so.6
libXrender.so.1
libXtst.so.6
libgobject-2.0.so.0
libglib-2.0.so.0
libnss3.so
libnssutil3.so
libsmime3.so
libnspr4.so
libcups.so.2
libdbus-1.so.3
libexpat.so.1
libXss.so.1
libXrandr.so.2
libgio-2.0.so.0
libasound.so.2
libpangocairo-1.0.so.0
libpango-1.0.so.0
libcairo.so.2
libatk-bridge-2.0.so.0
libgtk-3.so.0
libgdk-3.so.0
libgdk_pixbuf-2.0.so.0
libgcc_s.so.1

Upgrade Apache Zookeeper

This release requires Apache Zookeeper v3.6.1 to support SSL. To enable SSL for Zookeeper, please review Security → Enable Zookeeper SSL.

If you are using an external version of Zookeeper that is not bundled with Incorta, you must upgrade your Zookeeper instance manually with the following steps:

  • Replace the existing zookeeper folder with the one from <INCORTA_INSTALLATION_PATH>/IncortaNode, with the exception of the zookeeper/conf/zoo.cfg file.
  • Add the admin.enableServer=false property to zoo.cfg.
  • Delete any files inside the <INCORTA_INSTALLATION_PATH>/IncortaNode/zookeeper_data folder.
  • Restart Zookeeper.

If you have multiple nodes, repeat the above steps for each Zookeeper node.

Note

The Zookeeper upgrade to v3.6.1 is backward compatible with all Incorta versions.


Upgrade the Incorta cluster

Here are the resources required to upgrade the Incorta cluster:

  • a System Administrator with root access to the host or hosts running Incorta Nodes, the host running the Cluster Management Console (CMC), and the host or hosts running Apache Spark
  • start the Incorta CMC. Do not start the other Incorta cluster services

To begin, run the incorta-installer.jar file from the shell:

java -jar incorta-installer.jar -i console

In the Incorta Installer console, enter these values for a standalone (Typical) upgrade:

Welcome : Enter
License Agreement/Copyright : Enter
License Agreement/Copyright : Y
Installation Type : 2- Upgrade
Installation Set : 1- Typical
Choose Installation Folder : Enter- Default
Installation Status : Enter
Start CMC : 3- Finish without starting CMC

Kill unwanted processes

After upgrading, you will want to kill any processes related to Incorta as you will start Incorta manually. To kill any unwanted processes, run the following commands:

sudo kill -9 $(ps -aux | grep '[n]odeAgent.jar' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[d]erby' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[e]xportServer' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[z]ookeeper' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[c]mc' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[s]park' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[h]adoop' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[p]ostgres' | awk '{print $2}')
sudo kill -9 $(ps -aux | grep '[I]ncortaNode' | awk '{print $2}')

Upgrade an external Apache Spark environment

If the Incorta cluster is using an external Apache Spark environment, you must also upgrade the Apache Spark environment by following these steps:

  • Zip the bundled spark directory under IncortaNode:
zip -r Incorta-Bundled-Spark.zip <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/spark
  • Zip the bundled hadoop directory under IncortaNode:
zip -r Incorta-Bundled-Hadoop.zip <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/hadoop
  • Copy Incorta-Bundled-Spark.zip and Incorta-Bundled-Hadoop.zip to the external Apache Spark environment.
  • In the external Apache Spark environment, remove the spark directory.
  • Unzip Incorta-Bundled-Spark.zip to recreate the Spark environment.
  • Unzip Incorta-Bundled-Hadoop.zip to recreate the Hadoop environment.

Review the Upgrade logs

Check to see if there are any critical errors with the upgrade in the following log files and directories:

  • Installer log
cat /tmp/DebuggingLog.log
  • Incorta Node upgrade logs
cd <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/logs/
  • CMC logs
ls -l <CMC>/logs/

Configure SSO

  • Paste the contents of the SSO properties file that you have previously configured, in the Tenant Configuration > Security > Provider configurations
    Note

    This property appears after changing the Authentication Type property to SSO.

  • Configure the other Security properties as required.
  • Ensure that the following is commented out in the Analytics service server.xml file:
    • SSO <Valve ../> tag : <!-- <Valve.. /> -->
    • SSO Valve tag example: <Valve className="com.incorta.sso.valves.OneLoginValve" confFilesMap="Tenant_Name=SSO_properties_file_absolute_path" LoggingEnabled = "true" />
Warning

There might be other Valve tags in the file but you need to comment out the SSO Valve tag only.


Start the Incorta cluster

Here are the resources required to start all the services in the Incorta cluster:

  • a System Administrator with root access to the host or hosts running Incorta Nodes, the host running the Cluster Management Console (CMC), and the host or hosts running Apache Spark

The estimated time to start the Incorta cluster and all related services is from 5 minutes to 5 hours. Depending on schema data size and various tenant configurations, it may take the Incorta Analytics Service several hours to load schemas into memory.

Important

After performing an upgrade and in the case of using a Single Sign-On (SSO) provider to secure access to the Incorta Direct Data Platform™, you need to manually remove one of the following jar files, before starting the Analytics Service, from the <INCORTA_NODE_INSTALLATION_PATH>/runtime/lib directory depending upon your SSO provider.

Here are the steps to start the Incorta cluster:

Start the CMC

The default directory for the CMC is ~/IncortaAnalytics/cmc. Start the CMC with the start-cmc.sh shell script:

<CMC_INSTALLATION_PATH>/cmc/start-cmc.sh

Start Apache Zookeeper

To start Apache Zookeeper, run the following:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/start-zookeeper.sh

Start Apache Spark

You can start Apache Spark using the startSpark.sh shell script:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/startSpark.sh

Start the Export Server

To start the Export Server, run the following:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/start-exportserver.sh

Start the Node Agent

For each Incorta Node, run the following to start the node agent:

<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/nodeAgent/agent.sh start

Start the Loader Service

In order to start the Loader Service, you need to know the name of the service. You can read the services.index file to find out the name of the services running on an Incorta Node.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/services/services.index

Once you know the name of the Loader Service, you can then execute the following:

LOADER_SERVICE=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/startService.sh ${LOADER_SERVICE}

Start the Analytics Service

In order to start the Analytics Service, you need to know the name of the service. You can read the services.index file to find out the name of the services running on an Incorta Node.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/services/services.index

Once you know the name of the Analytics Service, you can then execute the following:

ANALYTICS_SERVICE=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/startService.sh ${ANALYTICS_SERVICE}

Start the Notebook Add-on Service

Note

Your Incorta cluster may not have enabled and configured the Notebook Add-on Service for a given tenant. You enable the Notebook Add-on as an Incorta Labs feature.

In order to start the Notebook Add-on Service, you need to know the name of the service. You can read the services.index file to find out the name of Notebook Add-on running on an Incorta Node that is running the Analytics Service.

cat <INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/notebooks/services/services.index

Once you know the name of the Notebook Add-on Service, then execute the following:

NOTEBOOK_ADD_ON=<SERVICE_NAME>
<INCORTA_NODE_INSTALLATION_PATH>/IncortaNode/startNotebook.sh ${NOTEBOOK_ADD_ON}

Upgrade the Incorta metadata database

A CMC Administrator is able to upgrade the Incorta metadata database. Depending on the number of tenants and schemas in your Incorta cluster, the process can take between 5 minutes and 3 hours.

To sign in to the Cluster Management Console (CMC), visit your CMC host at one of the following:

  • http://<Public_IP>:6060/cmc
  • http://<Public_DNS>:6060/cmc
  • http://<Private_IP>:6060/cmc
  • http://<Private_DNS>:6060/cmc

The default port for the CMC is 6060. Sign in to the CMC using your CMC administrator username and password.

To upgrade the Cluster Metadata database, follow the steps:

  • In the Navigation bar, select Clusters.
  • For each cluster name in the Cluster list, in the Actions column, select Upgrade Cluster Metadata.
Note

A dialog indicates to restart the Incorta Services. In the dialog, select OK.



Run the Versioning Migration Tool

In the case of upgrading from a previous release to release 5.1, you must either run the Versioning Migration Tool after upgrading the cluster metadata database or perform a full load for all physical schemas in all tenants.

Warning

When upgrading to release 5.1, you must ensure that you have adequate disk space in shared storage. If you create a backup prior to the migration, you need to account for the backup size as part of your disk space calculations. The default backup directory is the tenant directory. You can specify a different directory.

What to expect after upgrading to 5.1

  • A new directory structure where the source and ddm directories replace the old parquet and snapshots directories respectively.
  • A new setting in the Cluster Configurations to set the Cleanup job time interval.
  • Enabling the Sync In Background feature will not cause data inconsistency issues as experienced in some cases before.
  • Some files will not be available or used anymore, such as .zxt, .zxs, and load-time.log files.

To learn more about the new implementation, review References → Data Consistency and Availability.


Verify the successfully upgrade

Next, verify the successful upgrade. Here are the resources required:

  • a System Administrator with root access to the host or hosts running Incorta Nodes, the host running the Cluster Management Console (CMC), and the host or hosts running Apache Spark
  • a CMC Administrator
  • a Super User that can access each tenant in the Incorta environment
  • an Incorta Developer to resolve identified issues with formula expressions, schema alias, joins between tables, and dependencies between objects such as dashboards and business schemas

Unpause all scheduled jobs

A CMC Administrator is able unpause scheduled jobs. Here are the steps to disable this option as a default tenant configuration:

  • In the Navigation bar, select Clusters.
  • In the cluster list, select a Cluster name.
  • In the canvas tabs, select Cluster Configurations.
  • In the panel tabs, select Default Tenant Configurations.
  • In the left pane, select Data Loading.
  • Disable the Pause Scheduled Jobs setting.
  • Select Save.

Review and Monitor scheduled jobs

As the tenant Super User, sign in to each each tenant and review the scheduled jobs.