Version:

Upgrading Kinetica

Head Node

Important

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

  1. Stop Kinetica from the head node:

    service gpudb stop
    
  2. Verify that Kinetica is stopped:

    service gpudb status
    
  3. Create a backup file (.bak) or a tar file (.tar.gz) using for all important configuration files and directories, including:

    • All persist directories defined in /opt/gpudb/core/etc/gpudb.conf (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/caravel/ directory
    • Everything in the /opt/gpudb/connectors/odbcserver/ directory
    • Everything in the /opt/gpudb/tomcat/conf directory
  4. Optionally, remove the existing package

    • On RHEL:

      sudo yum remove <package_name>
      
    • On Debian-based:

      sudo apt-get remove <package_name>
      
  5. Download the new, desired package

  6. Install the latest package using the following command

    • On RHEL:

      sudo yum upgrade <package_name>
      
    • On Debian-based:

      sudo dpkg -i /path/to/pkg/<package_name>
      
  7. 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_caravel                          | 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 configuration files 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.

Worker Nodes

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. Create a backup file (.bak) or a tar file (.tar.gz) using for all important configuration files and directories on the rest of the hosts, including:

    • All persist directories defined in /opt/gpudb/core/etc/gpudb.conf (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/caravel/ directory
    • Everything in the /opt/gpudb/connectors/odbcserver/ directory
    • Everything in the /opt/gpudb/tomcat/conf directory
  2. Optionally, remove the existing package

    • On RHEL:

      /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo yum remove <package_name>"
      
    • On Debian-based:

      /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo apt-get remove <package_name>"
      
  3. 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/<package_name> /desired/worker/node/directory
    
  4. Install the latest package

    • On RHEL:

      /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo yum upgrade <package_name>"
      
    • On Debian-based:

      /opt/gpudb/core/bin/gpudb_hosts_ssh_execute.sh --skip-head "sudo dpkg -i /path/to/pkg/<package_name>"
      
  5. 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_caravel                          | 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 configuration files 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.