Upgrading Kognitio on Hadoop

You can upgrade Kognitio on Hadoop from an edge node simply by untaring the tarball for a newer version over the top of an existing version. This will replace the ‘kodoop’ program and update any templates, etc but will leave your cluster definitions, configuration files, etc intact. Each kodoop tarball comes with a version of the Kognitio software which ends up in the kodoop/packages directory so after untaring multiple versions of Kognitio on Hadoop you will have multiple different software versions in this directory.

Log in as the Kognitio user and untar the kodoop tarball:

[kodoop@edge-node ~]$ tar -xvf kodoop.tar.gz
kodoop/
kodoop/examples/
kodoop/examples/template-server.cfg
kodoop/examples/template-settings.sh
kodoop/packages/
kodoop/packages/kognitio-ver80202rel180914.zip
kodoop/config/
kodoop/config/recommended_settings.cfg
kodoop/add_on/
kodoop/add_on/java-ext-table-ver80202rel180914.plugin
kodoop/logs/
kodoop/bin/
kodoop/bin/kodoop
kodoop/kognitio-eula.txt

Kognitio version naming

Each version of kodoop has a version string which is formatted ‘ver<number>-<patch’. You can see these when you list the kodoop/packages directory as all the files are named ‘kognitio-<version>’, for example:

[kodoop@edge-node ~]$ ls -l kodoop/packages
total 135760
-rw-r--r-- 1 markm presales 69493151 Sep 14 04:09 kognitio-ver80202rel180914.zip
-rw-r--r-- 1 markm presales 69509590 Sep 26 22:13 kognitio-ver80203s180926.zip

This installation has two kognitio versions ver80202rel180914 and ver80203s180926. The kodoop script itself also has a version which you can see in the banner when you run it:

[kodoop@edge-node ~]$ kodoop help 2>&1 | head -1
Kognitio Analytical Platform software for Hadoop ver80203s180926.

The kodoop command and associated files will default to the most recently unpacked version of Kognitio. By default if the Kognitio version is omitted from a command the kodoop script’s version will be used.

Upgrading the server software for a cluster

You can change the software version running on any given cluster using:

kodoop server <id> upgrade <version>

<version> can be omitted to upgrade to the script’s current version. This will restart the server and will automatically run any SQL required to convert the server to the new version. Upgrades with different numeric versions take longer and may change the layout of system tables, etc. Upgrades with the same version but different patch strings are much faster, requiring only a restart into the new version. An example upgrade looks like this:

[kodoop@edge-node ~]$kodoop server andy1 upgrade ver80203s180926
Kognitio Analytical Platform software for Hadoop ver80202rel180914.
(c)Copyright Kognitio Ltd 2001-2018.

Upgrading server andy1 to version ver80203s180926
This will restart if the server is currently running
Installing version 8.01.01--kodoop-pre6(80101), dir ver80203s180926.
Performing fast upgrade as version numbers are the same.
System prepared for upgrade, restarting wxsmd.
WXSERVER:  SMD asked wxserver to run 'start' when restarted.
WXSERVER:  SMD is exiting for restart.
WXSERVER:  Connection closed by smd.
WXSERVER:  restarting wxserver with command /data/home/kodoop/kodoop/clusters/andy1/wx2/current/bin/../software/Linux/wxserver start.
Logging startup to startup.T_2016-07-21_14:55:57_BST.
   -->  Cleaning up unwanted files/processes.
   -->  Examining system components.
   -->  Configuring WX2 software.
   -->  Initializing Database.
   -->  Recovering memory images
Completed crimage in 00:00:44.
Startup complete. SERVER IS NOW OPERATIONAL.
Saving logs in /data/home/kodoop/kodoop/logs/logs-andy1/startup.T_2016-07-21_14:55:57_BST to HDFS

It is possible to use the ‘upgrade’ command to ‘downgrade’ a server to a previous patch release. You can do this in the same way as an upgrade, just give the older version as an argument. Downgrading does not work across different numeric versions though as the numeric upgrade process is always one way.