Any version of Kinetica can be upgraded to the latest version after installing KAgent and enabling KAgent to manage the cluster. This page assumes that KAgent is not installed currently. Once installed, KAgent will manage upgrading every node in a cluster as well as any configuration file merging.
Warning
See the Migrating to Kinetica 7.0 for considerations that should be made before upgrading.
Stop Kinetica from the head node:
service gpudb_host_manager stop
Verify that Kinetica is stopped:
service gpudb_host_manager status
On the head node, create a backup file (.bak) or a tar file (.tar.gz) for all important configuration files and directories, including:
/opt/gpudb/persist
--
defined in the gpudb.conf
file (backing up these directories is
optional, especially if the disk space is not available)/opt/gpudb/core/etc
directory/opt/gpudb/httpd/conf
directory/opt/gpudb/connectors
directory/opt/gpudb/tomcat/conf/catalina.properties
file/opt/gpudb/tomcat/webapps/gadmin/WEB-INF/classes/gaia.properties
fileOn 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.
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)
Before upgrading the database, KAgent must be installed on one of the nodes of the existing cluster or any other external server.
Important
If KAgent is already installed, skip to Upgrading Kinetica (KAgent - On Premise)
KAgent can be installed in two ways:
Important
KAgent requires that the 8081
port be made available on the
host
KAgent can be deployed on any server inside or outside the cluster. Deploy the package using the standard procedures for a local package:
On RHEL:
sudo yum install ./kagent-<version>.<architecture>.rpm
On Debian/Ubuntu:
sudo apt install ./kagent-<version>.<architecture>.deb
This installs the package to the directory /opt/gpudb/kagent
and
registers and starts the kagent-ui
service. KAgent will open port 8081
on the local firewall (if enabled).
After installing Docker, run the following via a local terminal:
sudo docker run -d -p 8081:8081 kinetica/kagent
The latest KAgent Docker image will be pulled and a container will be started.
Upgrading Kinetica using KAgent involves adding the existing cluster to KAgent and then deploying the updated package via either a browser-based UI or console-driven CLI.
After installing KAgent, the KAgent UI displays an overview page as well as access to KAgent administration tools, cluster setup, and cluster components. KAgent is accessible via the following URL:
http://<kagent-host>:8081/kagent
To access the KAgent UI and begin setting up a cluster:
Ensure the KAgent service is started:
service kagent_ui status
Browse to the KAgent UI using IP or host name:
http://<kagent-host>:8081/kagent
Optionally, if using custom rings, i.e. not the default
ring, click
Rings then click Clusters next to the desired
ring.
Click Add New or Existing Cluster.
Note
Once in the setup process, click Clusters to exit setup and return to the start; click Logs to view KAgent logs; click Console to open the console log.
Note
The license key can be the existing Kinetica license key or a new license key. Contact Support (support@kinetica.com) for any questions.
Enter a name for the cluster. The name cannot contain spaces or underscores.
Optionally, select to install Graph if a node should have the graph server installed on it during the upgrade. See Network Graphs & Solvers Concepts for more information.
Optionally, select to install AAW (Active Analytics Workbench) during the upgrade.
Optionally, select to install KAgent if an additional node should also have KAgent installed on it during the upgrade. See Nodes for more information.
Optionally, select to install HA if setting up an HA ring. Review High Availability Configuration & Management for more information.
For the Install Mode, select either Online (upgrade from the online Kinetica repository) or Offline (upgrade from uploaded packages). If Offline is selected, click Upload Packages, then upload a package file for each component or driver desired for the upgrade.
Important
If performing an offline upgrade, all necessary dependencies will need to be installed prior to cluster setup.
For the Version, select either CUDA (GPU) or Intel (CPU-only) depending on the package variant that's already installed on the current cluster you want to upgrade.
Tip
Use one of the following commands to determine the Kinetica package that is already on the machine:
# RHEL
rpm -qa | grep 'gpudb'
# Ubuntu
apt list --installed | grep 'gpudb'
If the Version is set to CUDA, select Automatically install Nvidia driver. This will automatically configure the server(s) for an Nvidia GPU driver and install the most compatible driver.
Enter the license key.
If AAW is selected to install, select a K8 Setup:
Automatic -- KAgent will install Kubernetes / KubeCTL and upload a default configuration file.
Important
Before installing the embedded Kubernetes cluster, review the Kubernetes Considerations.
Custom -- Upload a configuration file for an already existing Kubernetes installation and provide a public IP address for the server hosting the Kubernetes installation. Note that AAW requires Kubernetes; see Active Analytics Workbench (AAW) Overview for more information.
Click Next.
Select the On Premise deployment method, and click Next.
Important
If clearing the Open Firewall Ports checkbox, the firewall then must be configured manually to allow the required ports listed in the default ports table. Consult Firewall Settings for tips on configuring the firewall.
Enter and confirm the existing Admin Password. This is the password used to access Reveal, Active Analytics Workbench (AAW), and GAdmin as the default Admin user.
Important
The password provided here must match the existing cluster's admin password.
Select an SSL Mode that best aligns with the existing cluster's SSL configuration:
/opt/gpudb/certs
, enables HTTPD, and configures HTTPD to use
HTTPS/opt/gpudb/certs
, enables HTTPD, and configures HTTPD to use HTTPSSelect the current Authentication type used for the existing cluster and fill the fields as necessary:
Click Next.
Click Add New Node until the number of nodes in KAgent matches the number of nodes in the current cluster.
Input the Hostname, Internal IP, and External IP for each existing node into KAgent.
Optionally, if the User-provided cert/key per node
SSL Mode
was selected, click the lock icon in the SSL column and
upload the SSL cert and key for each node.
Select if each node should have the Core package installed. The Core package contains access to the database and its core components and functionality. Note that if the core package is installed on a node, that node cannot be designated as the Head Node.
For the existing head node host, designate it as the head node in KAgent by selecting the Head Node radio button next to it.
Note
All services and privileges (Head, Graph, AAW, KAgent) can exist on a single node if desired, assuming there are enough resources to handle it.
Optionally, if the Graph
package was selected for install in
Cluster, select the desired node for the
Graph node using the corresponding radio button. The graph node
hosts the graph server. The
graph node does not need to have the Core package enabled.
Optionally, if opting to install AAW, select the desired node to host the service. The AAW node does not need to have the Core package enabled. Also, set the number of reserved GPUs for AAW to use for each node.
Important
Some features of AAW require GPUs to work or have increased performance. Review the AAW documentation for more information.
Optionally, if opting to install KAgent, select the desired node to host the service. The KAgent node does not need to have the Core package enabled.
Select if each node should have Rabbit (RabbitMQ) installed. Ensure at least one node will have RabbitMQ installed if enabling High Availability (HA) for the cluster; select 2 or more nodes to have RabbitMQ installed for redundant queues. A node does not have to host any other services other than RabbitMQ if desired.
Click Next.
Confirm which IP address KAgent should use to connect to the cluster: Internal or Public.
sudo
password.The console will appear showing the log of KAgent interactions as KAgent attempts to access the cluster with the provided credentials and also retrieve information on the hosts, including Kinetica version and configuration (if installed), hostname and IP addresses, OS type, and Nvidia information.
Important
If the configuration you have selected does not match the current configuration on the cluster you're trying to upgrade, KAgent will list the errors and provide the opportunity to fix the configuration manually or automatically.
Existing cluster version information will be detected and the Add Only + and Upgrade buttons will be activated.
Review the Upgrade Summary to ensure there are no validation errors in the information.
Click Upgrade. KAgent will open a window displaying the progress of the upgrade. The upgrade may take a while as KAgent deploys an updated package on each node in the cluster.
Tip
Click Details next to a step to see stdout and stderr for that step. Click to copy the displayed text.
Important
If Automatic Kubernetes (K8) installation was selected, KAgent will request permission to disable SELinux on the nodes. Kubernetes cannot be installed otherwise. Click I Agree to continue with the upgrade; click No to stop the upgrade and manually disable SELinux.
After a successful upgrade, if KAgent was also installed on a separate node, one can be redirected to the KAgent on that cluster node. If KAgent was not installed, one can be redirected to GAdmin.
Tip
GAdmin can always be found by browsing to the head node, using IP or host name:
http://<head-node-host>:8080/
KAgent can always be found by browsing to the node hosting it, using IP or host name:
http://<kagent-host>:8081/