Kinetica can be installed manually on pre-provisioned instances in
AWS, Azure, or GCP. For offerings provisioned within cloud environments
directly, see Cloud-Ready.
System Requirements
Operating system, hardware, and network requirements to run Kinetica.Certified OS List
Minimum Hardware Requirements
GPU Driver Matrix
The cards below have been tested in large-scale production environments and provide the best performance for the database.Cluster Preparation
There are some steps that should be followed to set up your network and server configuration before installing Kinetica. The first step is to collect the IP addresses of the server or servers that will be running Kinetica. If deploying to a cluster, one server must be designated as the head node. This server receives user requests and parcels them out to the other worker nodes of the system. The head node of the cluster (or only node in a single-node system) will also be used for administration of the system, host all services & applications, and as such, will require special handling during the installation process.Networking Configuration
The Kinetica head node will require a number of ports to be open in order to communicate with its applications & services. Any worker nodes will need ports opened to communicate with the head node and each other, though this set of ports will be smaller than that of the head node.Default Ports
The default ports used for communication with KAgent, Kinetica (and between servers, if operating in a cluster), and various important services follow. The Nodes column will list either Head—that the corresponding port only needs to be opened on the head node, or All—that the corresponding port needs to be opened on the head node & worker nodes.While the table below lists KAgent and the graph server as being on the
head node, these features could be kept on machines entirely separate from
Kinetica if desired.
Port Usage Scenarios
Kinetica highly encourages that proper firewalls be maintained and used to protect the database and the network at large. A full tutorial on how to properly set up a firewall is beyond the scope of this document, but the following are some best practices and starting points for more research. All machines connected to the Internet at large should be protected from intrusion. As shown in the list above, there are no ports which are necessarily required to be accessible from outside of a trusted network, so we recommend only opening ports to the Internet and/or untrusted network(s) which are truly needed based on requirements. There are some common scenarios which can act as guidelines on which ports should be available.Connection to the Internet
If Kinetica is running on a server where it will be accessible to the Internet at large, it is our strong suggestion that security and authentication be used and ports9191+N and 8080 are NOT exposed to the public, if
possible. Those ports can potentially allow users to run commands anonymously
and unless security is configured to prevent it, any users connecting to them
will have full control of the database.
Dependence on Kinetica via the API
For applications in which requests are being made to Kinetica via client APIs that do not use authentication, the9191+N ports should be made available to
the relevant set of servers. For applications using authentication via the
bundled version of httpd, port 8082 should be opened. It is possible to
have both ports open at the same time in cases where anonymous access is
permitted, however the security settings should be carefully set in this case to
ensure that anonymous users have the appropriate access limitations.
Additionally, if the API client is using table monitors or triggers, ports
9001, 9002, and/or 9003 should also be opened, as needed.
Reveal
In cases where the GUI interface to Reveal is required, the8088
port should be made available.
Administration
System administrators may wish to have access to the administrative web interface, in which case port8080 should be opened, but carefully
controlled.
Firewall Settings
RHEL
RHEL uses the firewall-cmd command or firewall-config GUI for configuring the firewall. For example, the following commands will open up port8082 publicly:
SUSE
SUSE uses the firewall-cmd command or firewall-config GUI for configuring the firewall. For example, the following commands will open up port8082 publicly:
Ubuntu
Ubuntu comes with a ufw (Uncomplicated FireWall) command, which controls the firewall, for example:System Settings
Each server in the Kinetica cluster should be properly prepared before installing Kinetica. While every system is unique, there are several system parameters which are generally recommended to be set for all nodes in every installation.Transparent Huge Pages
Transparent Huge Pages are the kernel’s attempt to reduce the overhead of Translation Lookaside Buffer (TLB) lookups by increasing the size of memory pages. This setting is enabled by default, but can lead to sparse memory usage and decreased performance.Active Directory
If your environment uses Microsoft Active Directory for authentication and there are security processes running on servers that check for and automatically remove accounts that are not registered in Active Directory, thegpudb
user must be added to Active Directory as a Linux-type account prior
to installing Kinetica.
Nvidia Drivers
If Nvidia GPUs are present in the target servers, but the drivers have not been installed yet, they should be installed now. See either Install Nvidia Drivers on RHEL or Install Nvidia Drivers on Debian/Ubuntu for details.Installation
Installation of Kinetica involves the deployment of the installation package, and either a browser-based or console-driven initialization step. Afterwards, passwordless SSH should be configured for ease of management of the system. The installation process also requires a license key. To receive a license key, contact support at support@kinetica.com. The Kinetica application needs to be deployed to all servers in the target cluster. Deploy the package using the standard procedures for a local package. Automatically download & install the latest GPU-based Kinetica version using these commands:KIN_REPO link below to search for a specific Intel
or CUDA version of Kinetica, change KIN_PKG to that file on line 2,
and then run the modified commands to download & install that version:
gpudb, and two users (gpudb & gpudb_proc) whose home directory
is located at /home/gpudb. SSH keys are also created to allow
password-less SSH access between servers for the gpudb user when
configured as a cluster. This will also register two services: gpudb &
gpudb_host_manager.
Configuration
Initialization
Once the application has been deployed, choose the configuration method:- Visual Initialization - for installations where the head node has web browser access
- Console Initialization - for installations without web browser access on the head node
Visual Initialization
The Visual Installer is run through the Kinetica Administration Application (GAdmin) and simplifies the installation of Kinetica. Browse to the head node, using IP or host name:-
Log into the admin application
- Enter Username:
admin - Enter Password:
admin - Click Login
- Enter Username:
-
If a license key has not already been configured, a
Product Activation page will be displayed, where the license key
is to be entered:

- Enter the license key under Enter License Key
- When complete, click Activate, then confirm the activation
-
At the Setup Wizard page, configure the system basics:
- Enter the IP Address and number of GPUs (if any) for each server in the cluster
- Optionally, select the Public Head IP Address checkbox and update the address as necessary
- The license key under Configure License Key should already be populated
- When complete, click Save
For additional configuration options, see the Configuration Reference. -
Start the system. This will start all Kinetica processes on the
head node, and if in a clustered environment, the corresponding processes
on the worker nodes.
- Click Admin on the left menu
- Click Start.
- See Changing the Administrator Password for instructions on updating the administration account’s password.
Console Initialization
System configuration is done primarily through the configuration file /opt/gpudb/core/etc/gpudb.conf, and while all nodes in a cluster have this file, only the copy on the head node needs to be modified. For details on the parameters used in this section, see Configuration Reference.Only edit the /opt/gpudb/core/etc/gpudb.conf on the
head node. Editing the file on worker nodes is not supported and may
lead to unexpected results.
- Log in to the head node and open /opt/gpudb/core/etc/gpudb.conf in an editor.
-
Specify the configuration for each host in the cluster. In this example,
there are two servers with three ranks on the first and two ranks on the
second:
-
For CUDA builds, the GPUs need to be assigned to ranks. To display the
installed GPUs and their status run:
If the program is not installed or doesn’t run, see Nvidia Drivers. Once the number of GPUs on each server has been established, enter them into the configuration file by associated rank. In this example, there are two servers with a GPU assigned to each of two ranks per host (none for rank0):
-
For non-CUDA builds, the Numa CPUs need to be assigned to ranks. To display
the Numa nodes, run:
Once the number of Numa nodes on each server has been established, enter them into the configuration file by associated rank. In this example, there are two servers with a Numa node assigned to each of two ranks per host (none for rank0):
-
Set the license key:
-
Optionally, enable the text search capability:
-
Determine the directory in which database files will be stored. It should
meet the following criteria:
- Available disk space that is 4x memory
- Writable by the
gpudbuser - Consist of raided SSDs
- Not be part of a network share or NFS mount
-
Enter the database file directory path into the configuration:
For additional configuration options, see the Configuration Reference.
- Save the file.
-
Start the
gpudbservice. This will start all Kinetica processes on the head node, and if in a clustered environment, processes on the worker nodes:
- Log into the admin application and change the administration account’s default password.
Passwordless SSH
If Kinetica is installed in a clustered environment, configuring passwordless SSH will make management considerably easier. Run the following command on the head node to set up passwordless SSH between the head node and the worker nodes for thegpudb users created during deployment:
gpudb users to all the
hosts in a cluster (made available with gpudb_hosts_addresses.sh) using the
ssh-copy-id tool that is part of OpenSSH:
Starting Kinetica
See Managing All Services for the command-line reference for starting and stopping Kinetica services.Validation
To validate that Kinetica has been installed and started properly, you can perform the following tests.Curl Test
To ensure that Kinetica has started (you may have to wait a moment while the system initializes), you can runcurl on the head node to check if
the server is responding and port is available with respect to any running
firewalls:
API Test
You can also run a test to ensure that the API is responding properly. There is an admin simulator project in Python provided with the Python API, which pulls statistics from the Kinetica instance. Running this on the head node, passing in the appropriate<username> & <password>, you should see:
GAdmin Status Test
The administrative interface itself can be used to validate that the system is functioning properly. Simply log into GAdmin. Browse to Dashboard to view the status of the overall system and Ranks to view the status breakdown by rank.Ingest/Read Test
After verifying Kinetica has started and its components work, you should confirm ingesting and reading data works as expected.- Navigate to the Demo tab on the Cluster page.
- Click Load Sample Data under the NYC Taxi section, then click Load to confirm.
- Once the data is finished loading, click View Loaded Data. The
data should be available in the
nyctaxitable located in thedemoschema.
-
Navigate to:
- Log into Reveal and change the administration account’s default password.
- Click NYC Taxi under Dashboards. The default NYC Taxi dashboard should load.
Core Utilities
Kinetica comes packaged with many helpful server and support executables that can be found in/opt/gpudb/core/bin/ and /opt/gpudb/bin. Note that any
of the gpudb_hosts_*.sh scripts will operate on the hosts specified in
gpudb.conf. Run any of the following with the -h option for usage
information.
For most of the utilities that use passwordless SSH, an AWS PEM
file can be specified instead using the
-i option (with the exception
being the gpudb_hosts_persist_* scripts). If passwordless SSH is not
setup and no PEM file is specified, you will be prompted for a password
on each host.Environment Configuration and Tools
Some of the most commonly used and important utilities are also available in the/opt/gpudb/bin directory.
This directory also contains the KI Tools suite
Helper Scripts
Additional helper scripts and utilities are available in/opt/gpudb/core/bin.
Logging
The best way to troubleshoot any issues is by searching through the available logs. For more information on changing the format of the logs, see Custom Logging. Each component in Kinetica has its own log, the location of which is detailed below:Uninstallation
Should you need to uninstall Kinetica, you’ll need to shut down the system, remove the package, and remove related files, directories, & user accounts.- Stop the system
-
Remove the Kinetica package from your
machine:
-
Optionally, remove the Kinetica Machine Learning (KML) package from your
machine:
- Remove any user-defined persist directories (these directories are set in /opt/gpudb/core/etc/gpudb.conf)
-
Clean-up all Kinetica
artifacts:
-
Remove the gpudb & gpudb_proc users from the
machine:
-
Remove the gpudb group from the
machine: