Upgrading a distributed deployment to version 4.4.3 of i2 Analyze
To upgrade the distributed deployment example, you must run an upgrade command on each server in your deployment. The following instructions detail what is required on each container, and how to use these steps to upgrade i2 Analyze on physical servers.
Before you begin
- You must have a working distributed deployment of a previous version of i2 Analyze, completed with a previous version of the distributed deployment example.
Important
- If you are upgrading a distributed deployment that was created by using V2.6.x or earlier of the distributed deployment example, you must use the
/opt/IBM/i2analyze
path instead of/opt/i2/i2analyze
in the Docker commands on this page. - If you are upgrading a distributed deployment that was created by using V1.x of the distributed deployment example, you must not update your distributed deployment example source code. Continue to use the same scripts, images, and containers from V1.x of the distributed deployment example.
- You must run any commands on the Docker container as the
root
user instead of thei2analyze
user. For example,docker exec -u root liberty /opt/i2/i2analyze/toolkit/scripts/setup -t stopLiberty
instead ofdocker exec -u i2analyze liberty /opt/i2/i2analyze/toolkit/scripts/setup -t stopLiberty
.
Prerequisites for upgrading the distributed deployment
Download, install, and configure the prerequisites for upgrading a distributed deployment.
Example code
Clone or download the distributed deployment example from https://github.com/i2group/analyze-deployment/releases.
Remove the current distributed deployment example code, but ensure the containers stay running.
Extract the distributed deployment example that you just downloaded.
i2 Analyze
Download i2 Analyze for Linux. You download the I2A_V4.4.3_LINUX.tar.gz
version 4.4.3 by using the usual mechanism.
Rename the
tar.gz
file toi2analyze.tar.gz
.Copy the archive file to the
src/images/common/ubuntu_toolkit/i2analyze
directory.Add the
mssql-jdbc-7.4.1.jre11.jar
file to thesrc/configuration/environment/common/jdbc-drivers
directory.Note: Download the Microsoft JDBC Driver 7.4 for SQL Server from Microsoft JDBC Driver 7.4 for SQL Server. Extract the contents of the
tar.gz
, and locate thesqljdbc_7.4\enu\mssql-jdbc-7.4.1.jre11.jar
file.Add the
postgresql-xx.x.x.jar
file to thesrc/configuration/environment/common/jdbc-drivers
directory.Note: Download the latest (Java 8) PostgreSQL JDBC Driver for PostgreSQL from https://jdbc.postgresql.org/download/
Analyst's Notebook Premium
Download i2 Analyst's Notebook Premium version 10 by using the usual mechanism.
Upgrade Analyst's Notebook Premium. For more information, see Upgrading i2 Analyst's Notebook Premium.
Preparing i2 Analyze
Back up and install i2 Analyze before you upgrade i2 Analyze.
Stopping Liberty
Before you upgrade your deployment, you must stop the application server.
To stop Liberty, run the following command on the liberty
container:
docker exec -u i2analyze liberty /opt/i2/i2analyze/toolkit/scripts/setup -t stopLiberty
The console output from the stopLiberty
task is output directly to the console.
Backing up the configuration
Before you upgrade your deployment, you must backup your current configuration. In the distributed deployment example, the backupConfiguration
script creates a copy of your configuration directory on the admin_client
container. The backup of your configuration is in the src/configuration_mods/configuration_backup
directory.
In a non-Docker environment, ensure that you have a copy of the configuration
directory that contains your complete configuration in a location outside of the i2 Analyze toolkit. The process of upgrading i2 Analyze removes the deployment toolkit from each server in the deployment. Ensure that the backup of your configuration is up-to-date for each server in your deployment.
Installing i2 Analyze
You must install version 4.4.3 of i2 Analyze on each server in the deployment. In the distributed deployment example, you can use the installToolkit
script to install i2 Analyze on each container.
To install i2 Analyze on each container, run the following command from the src/scripts
directory:
./installToolkit ./images/common/ubuntu_toolkit/i2analyze/i2analyze.tar.gz
In a non-Docker environment, install i2 Analyze on each server by using the following instructions: Upgrading i2 Analyze.
Copying the backed up configuration
In the distributed deployment example, you upgrade the configuration on the admin_client
container. You must copy the backed up configuration of the deployment toolkit to the Admin Client.
To copy your backed up configuration to the admin_client
container, run the following command from the src
directory:
docker cp ./configuration_mods/configuration_backup admin_client:/opt/i2/i2analyze/toolkit/configuration
When the directory is copied, the owner of the directory, and all files within it, is changed. The user that runs the deployment script must be able to write to files within the configuration
directory. To change the ownership of the directory and the files, run the following command:
docker exec -u root admin_client chown -R i2analyze:i2analyze /opt/i2/i2analyze/toolkit/configuration
The configuration is now on the admin_client
container.
In a non-Docker environment, copy your backed up configuration directory to the i2analyze/toolkit/configuration
directory on your equivalent of the Admin Client server.
You can complete a quick upgrade or you can upgrade manually. Completing the upgrade manually requires you to run each of the steps completed automatically in the quick upgrade. By upgrading manually, you can see in detail what is required on each container and how to use this to upgrade a deployment on physical servers.
Quick upgrade
To upgrade the distributed deployment example, a script is provided that upgrades i2 Analyze and its components.
To upgrade your deployment, run the ./upgradeDeployment
script from the src/scripts
directory.
All of the components of i2 Analyze are upgraded and the application is started. You can test the deployment by completing the steps in Testing the deployment.
Upgrade the deployment manually
Upgrading and copying the configuration
If you are using a newer version of JDBC Drivers, remove the previous version, run the following commands from the src
directory:
docker exec -u root admin_client rm -rf /opt/i2/i2analyze/toolkit/configuration/environment/common/jdbc-drivers
docker cp configuration/environment/common/jdbc-drivers admin_client:/opt/i2/i2analyze/toolkit/configuration/environment/common
Upgrade the i2 Analyze configuration to version 4.4.3. To upgrade the configuration, run the following command on the admin_client
container:
docker exec -u i2analyze -t admin_client /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeConfiguration
The console output from the upgradeConfiguration
task is output directly to the console.
The upgraded configuration must be copied to each of the servers in the deployment. In a Docker environment, first you must copy the upgraded configuration to your local machine by running the following command inside the src/scripts
directory:
For SQL Server:
docker cp admin_client:/opt/i2/i2analyze/toolkit/configuration ../configuration_mods/sqlserver/configuration_upgraded
For Db2:
docker cp admin_client:/opt/i2/i2analyze/toolkit/configuration ../configuration_mods/db2/configuration_upgraded
For Postgres:
docker cp admin_client:/opt/i2/i2analyze/toolkit/configuration ../configuration_mods/postgres/configuration_upgraded
Then, copy the upgraded configuration to each server. In the distributed deployment example, you can run the updateServerConfigurations
script to copy the configuration to each container:
./updateServerConfigurations configuration_upgraded
In a non-Docker environment, copy the upgraded configuration to the i2analyze/toolkit/configuration
directory on each server.
Upgrading and starting the components of i2 Analyze
After the upgraded configuration is present on each server, you must upgrade each component of the deployment to version 4.4.3.
You must upgrade and start the components of a deployment in the order that they are described here.
Upgrading ZooKeeper
To upgrade ZooKeeper, run the following command on the zookeeper
, zookeeper2
and zookeeper3
containers:
docker exec -u i2analyze zookeeper /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeZookeeper --hostname zookeeper.eianet
docker exec -u i2analyze zookeeper2 /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeZookeeper --hostname zookeeper2.eianet
docker exec -u i2analyze zookeeper3 /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeZookeeper --hostname zookeeper3.eianet
The console output from the upgradeZookeeper
task is output directly to the console.
Upgrading Solr
To upgrade Solr, run the following command on the solr
and solr2
containers:
docker exec -u i2analyze solr /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeSolr --hostname solr.eianet
docker exec -u i2analyze solr2 /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeSolr --hostname solr2.eianet
The console output from the upgradeSolr
task is output directly to the console.
Upgrading the Information Store database
To upgrade the Information Store database, run the following command on the admin_client
container:
docker exec -u i2analyze admin_client /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeDatabases --hostname admin_client.eianet
The console output from the upgradeDatabases
task is output directly to the console.
Starting ZooKeeper
To start ZooKeeper, run the following commands on the zookeeper
, zookeeper2
and zookeeper3
containers:
docker exec -u i2analyze zookeeper /opt/i2/i2analyze/toolkit/scripts/setup -t startZkHosts --hostname zookeeper.eianet
docker exec -u i2analyze zookeeper2 /opt/i2/i2analyze/toolkit/scripts/setup -t startZkHosts --hostname zookeeper2.eianet
docker exec -u i2analyze zookeeper3 /opt/i2/i2analyze/toolkit/scripts/setup -t startZkHosts --hostname zookeeper3.eianet
The console output from the startZkHosts
task is output directly to the console.
Upload the Solr configuration on ZooKeeper
To upload the Solr configuration by using the Admin client, run the following command:
docker exec -u i2analyze -t admin_client /opt/i2/i2analyze/toolkit/scripts/setup -t createAndUploadSolrConfig --hostname admin_client.eianet
The Solr configuration is uploaded.
Starting Solr
To start Solr, run the following commands on the solr
and solr2
containers:
docker exec -u i2analyze solr /opt/i2/i2analyze/toolkit/scripts/setup -t startSolr --hostname solr.eianet
docker exec -u i2analyze solr2 /opt/i2/i2analyze/toolkit/scripts/setup -t startSolr --hostname solr2.eianet
The console output from the startSolr
tasks are displayed directly to the console.
Upgrading the Solr collection
To upgrade the Solr collection, run the following command on the admin_client
container:
docker exec -u i2analyze -t admin_client /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeSolrCollections --hostname admin_client.eianet
The console output from the upgradeSolrCollections
task is output directly to the console.
Upgrading Liberty
To upgrade Liberty and the i2 Analyze application, run the following command on the liberty
container:
docker exec -u i2analyze -t liberty /opt/i2/i2analyze/toolkit/scripts/setup -t upgradeLiberty
The console output from the upgradeLiberty
task is output directly to the console.
Starting Liberty
Start Liberty with the upgraded i2 Analyze application.
To start Liberty, run the following command on the liberty
container:
docker exec -u i2analyze liberty /opt/i2/i2analyze/toolkit/scripts/setup -t startLiberty
The console output from the startLiberty
task is output directly to the console.
(Optional) Upgrading the ETL Client
If your deployment uses an ETL Client, you must recreate it with the new upgraded toolkit.
In the distributed deployment example, the deployEtlClient
script removes the old installation from your running etl_client container, creates a new etl_client in the admin_client container and copies it over to the etl_client
container creates a copy of your configuration directory on the Admin Client container. The backup of your configuration is in the src/configuration_mods/configuration_backup
directory.
Results
All of the components of i2 Analyze are upgraded and the application is started.
Testing the deployment
To test the deployment upgraded successfully, connect to i2 Analyze from Analyst's Notebook Premium. The URL that you use to connect is the same as you used to before you run the upgrade process.
Log in using the user name Jenny
with the password Jenny
.
You can use the Upload records functionality to add data to the Information Store, and then search for that data or data that already existed.