Version:

Upgrading Kinetica

Important

For a Kinetica instance with multiple nodes, the head node should be upgraded first.

6.0 to 6.1 Upgrades

There are two items of note when upgrading Kinetica from the 6.0 release to version 6.1.

Reveal

The versions of Reveal between 6.0 & 6.1 are incompatible with respect to the slice configuration. However, slices can be converted manually with little difficulty. Within Reveal, simply click Slices to navigate to the slices listing, then, for each slice:

  1. Click on the name of the slice to open up the corresponding configuration page
  2. Click Save as
  3. Click Save

Once all slices have been saved, the upgrade to Kinetica 6.1 is complete.

Stopping Kinetica

  1. Stop Kinetica from the head node:

    service gpudb stop
    
  2. Verify that Kinetica is stopped:

    service gpudb status
    

Important

For 6.1 to newer 6.1 upgrades only, stop the Host Manager service on every node:

service gpudb_host_manager stop

Backing Up Kinetica

  1. On the head node, create a backup file (.bak) or a tar file (.tar.gz) for all important configuration files and directories, including:
    • All persist directories--the default being /opt/gpudb/persist-- defined in the gpudb.conf file (backing up these directories is optional, especially if the disk space is not available)
    • Everything in the /opt/gpudb/core/etc directory
    • Everything in the /opt/gpudb/httpd/conf directory
    • Everything in the /opt/gpudb/connectors/reveal/ directory
    • Everything in the /opt/gpudb/connectors/odbcserver/ directory
    • The /opt/gpudb/tomcat/conf/catalina.properties file
    • The /opt/gpudb/tomcat/webapps/gadmin/WEB-INF/classes/gaia.properties file
  2. On the head node, follow the instructions for upgrading Kinetica under Reveal, if any custom slice types have been created in the environment being upgraded. These instructions will contain steps to be followed both before and after the upgrade is applied.
  3. On the worker nodes, create a backup file (.bak) or a tar file (.tar.gz) for all persist directories--the default being /opt/gpudb/persist-- defined in the gpudb.conf file (backing up these directories is optional, especially if the disk space is not available)

Download and Install the New Version

If there are additional nodes in the Kinetica cluster, scripts included with the Kinetica install can be run on the head node to simplify the process after the head node has been upgraded.

  1. On the head node:

    1. Download the new, desired package

    2. Install the latest package

      • On RHEL:

        • If upgrading 6.1 to a newer 6.1 with the same hardware & licensetype:

          sudo yum upgrade gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.rpm
          
        • Otherwise:

          sudo yum install gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.rpm
          
      • On Debian-based:

        sudo dpkg -i /path/to/pkg/gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.deb
        
    3. After dependencies are installed and additional backups are created, Kinetica will verify the installation. Reply y to continue, and Kinetica will attempt to merge your current configuration files with the new files. Note that the Modified Value is the value in your current configuration file, the Default Value is the value in the package's default configuration file, and the Merged Value is the value used after reconciling the current and default configuration files. For example:

      Merging /opt/gpudb/core/etc/gpudb-upgrade-backup-2017-08-16_07-25-14.conf and /opt/gpudb/core/etc/gpudb.conf.template into /opt/gpudb/core/etc/gpudb.conf
      
      | Option                                     | Modified Value                      | Default Value                       | Merged Value                   |
      |                                            | (...ackup-2017-08-16_07-25-14.conf) | (...b/core/etc/gpudb.conf.template) | (...gpudb/core/etc/gpudb.conf) |
      +--------------------------------------------+-------------------------------------+-------------------------------------+--------------------------------+
      gaia/enable_authorization                    | true                                | false                               | true
      gaia/enable_reveal                           | true                                | false                               | true
      gaia/enable_httpd_proxy                      | true                                | false                               | true
      gaia/enable_odbc_connector                   | true                                | false                               | true
      gaia/head_ip_address                         | <ip_address>                        | 127.0.0.1                           | <ip_address>
      
      ...
      

      Important

      The ODBC .ini configuration files (found in /opt/gpudb/connectors/odbcserver/client/etc and /opt/gpudb/connectors/odbcserver/bin are not automatically merged, so they'll need to be manually merged with the package's default ODBC configuration files to utilize any new configuration settings.

  2. On the worker nodes:

    1. Copy the installer from the head node to the worker nodes using the /opt/gpudb/core/bin/gpudb_hosts_rsync_to.sh file like so:

      /opt/gpudb/core/bin/gpudb_hosts_rsync_to.sh /path/to/pkg/gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.rpm /desired/worker/node/directory
      
    2. Install the latest package

      • On RHEL:

        • If upgrading 6.1 to a newer 6.1 with the same hardware & licensetype*:

          /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo yum upgrade gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.rpm"
          
        • Otherwise:

          /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo yum install gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.rpm"
          
      • On Debian-based:

        /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo dpkg -i /path/to/pkg/gpudb-<gpuhardware>-<licensetype>-<version>.<architecture>.deb"
        
    3. After dependencies are installed and additional backups are created, Kinetica will verify the installation on the worker nodes. Reply y to continue, and Kinetica will attempt to merge your current configuration files with the new files. Note that the Modified Value is the value in your current configuration file, the Default Value is the value in the package's default configuration file, and the Merged Value is the value used after reconciling the current and default configuration files. For example:

      Merging /opt/gpudb/core/etc/gpudb-upgrade-backup-2017-08-16_07-25-14.conf and /opt/gpudb/core/etc/gpudb.conf.template into /opt/gpudb/core/etc/gpudb.conf
      
      | Option                                     | Modified Value                      | Default Value                       | Merged Value                   |
      |                                            | (...ackup-2017-08-16_07-25-14.conf) | (...b/core/etc/gpudb.conf.template) | (...gpudb/core/etc/gpudb.conf) |
      +--------------------------------------------+-------------------------------------+-------------------------------------+--------------------------------+
      gaia/enable_authorization                    | true                                | false                               | true
      gaia/enable_reveal                           | true                                | false                               | true
      gaia/enable_httpd_proxy                      | true                                | false                               | true
      gaia/enable_odbc_connector                   | true                                | false                               | true
      gaia/head_ip_address                         | <ip_address>                        | 127.0.0.1                           | <ip_address>
      
      ...
      

      Important

      The ODBC .ini configuration files (found in /opt/gpudb/connectors/odbcserver/client/etc and /opt/gpudb/connectors/odbcserver/bin are not automatically merged, so they'll need to be manually merged with the package's default ODBC configuration files to utilize any new configuration settings.

Restart System

  1. Start Host Manager on all nodes (if it is not running already):

    service gpudb_host_manager start
    
  2. Verify Host Manager is running on all nodes:

    service gpudb_host_manager status
    
  3. To start Kinetica, from the head node:

    service gpudb start