KDB.AI Server Setup
This section details the steps to setup KDB.AI Server.
Hardware requirements
KDB.AI Server requires an Intel or AMD CPU that support AVX2 instructions or later:
- Intel CPUs starting from the Haswell architecture.
- AMD CPUs starting from the Zen architecture.
KDB.AI Server is currently not supported for users on Apple Macs.
Software requirements
You can run KDB.AI Server under Docker or Rancher.
For demonstration purposes, the following steps provide guidance for running the KDB.AI Server under Docker:
-
A Linux kernel of 4.18.0 or later is required to run the KDB.AI container. Examples of such distros include:
- CentOS 8 or later
- Red Hat Enterprise Linux (RHEL) 8 or later
- Ubuntu 18.04 or later
-
If you run KDB.AI Server on Windows, we recommend using the Windows Subsystem for Linux (WSL) instead of running it directly on Windows. This way, the volume mounts are from a Linux filesystem (for example, ext4) and avoid any related errors.
System requirements
The KDB.AI Server Standard Edition license is limited to 24 cores. When running the Docker container, if the machine contains more than 24 cores, adjust the Docker run command to include --cpuset-cpus
, for example --cpuset-cpus 1-24
. See step 3 of Start the KDB.AI docker image for more details. If you're using Rancher, make sure to tick dockered(moby)
in General > Preferences > Container Engine > General.
Sign up
Ensure you have signed up for KDB.AI Server Edition here.
Running a KDB.AI Server version before 1.0.0? Expand for more.
You must register for a new KDB.AI Server license here and complete a new installation process. For further details, follow the Upgrade KDB.AI Server instructions."
Having trouble finding the registration email? Expand for more.
- Check your spam folder.
- Add support@kdb.ai to the Safe senders list to prevent your personal or corporate antivirus or email protection software to block the email from being delivered.
Bearer token
Once you receive your registration email, obtain a bearer token by doing the following:
- Log into the KX downloads portal.
- Once authenticated, navigate to https://portal.dl.kx.com/auth/token.
- Click Add New Bearer token.
- Click Copy Bearer.
Download the KDB.AI image
Using the credentials provided after you register, you can download the image for the specified version of KDB.AI Server.
-
Login to the docker registry in the downloads portal:
export USERNAME=<Signup email address> export BEARER=<Copied from KX downloads portal> docker login portal.dl.kx.com -u $USERNAME -p $BEARER
Your username is your email address registered with KX, your password is the bearer token.
-
Pull the
kdbai-db
image:docker pull portal.dl.kx.com/kdbai-db:latest
Download your KDB.AI license
In your registration email, click Download License. Your license is either a k4.lic or kc.lic file - you'll need it to access your KDB.AI Server database.
Tip for Windows users. Expand for more.
You need to save the license within your mounted Linux filesystem. It doesn't work if you save it in your Windows filesystem.
For example, this command works:
export KDB_LICENSE_B64=$(base64 kc.lic)
export KDB_LICENSE_B64=\mnt\c\users\yourname\downloads\kc.lic
Provide a license
Create the environment variable using the corresponding command depending on the format of your license:
export KDB_LICENSE_B64=$(base64 path-to/kc.lic)
export KDB_K4LICENSE_B64=$(base64 path-to/k4.lic)
Start the KDB.AI docker image
-
Create a location on the local disk to write data:
tree . . └── vdbdata 1 directory, 0 files
-
Set permissions to read and write to this directory:
chmod 0777 vdbdata
-
Run the container in detached mode using the following command:
docker run -d \ -p 8082:8082 \ -e KDB_LICENSE_B64 \ -e VDB_DIR="/tmp/kx/data/vdb" \ -v ./vdbdata:/tmp/kx/data \ portal.dl.kx.com/kdbai-db:latest
The first port in the
-p
line is configurable, but the second port8082
must not be changed.Troubleshooting tips. Expand for more.
- Didn't get a success message? Try removing
-d
from the above command to view the container logs and any potential errors. - If you attempt to run the Docker container on a machine with more than 24 cores, the execution fails with a cores error. To work around it, add a
--cpuset-cpus
parameter to the Docker run command, for example--cpuset-cpus 1-24
.
- Didn't get a success message? Try removing
-
Check if the KDB.AI container is running:
docker ps
Do you receive an error message while running docker using sudo? Expand for more.
Add the
-E
flag so environmental variables likeKDB_LICENSE_B64
are picked up. Therefore, the command becomes:-E docker ps
.
Install the KDB.AI client
-
Install the latest version of KDB.AI client using pip from PyPI using the following command:
pip install kdbai-client
Ensure curl is installed, for example, `which curl`
KDB.AI supports Python versions >= 3.8
-
Establish and verify the connection with the KDB.AI Server:
import kdbai_client as kdbai session = kdbai.Session(endpoint='http://localhost:8082') session.list() # expected response should be an empty list [] because you haven't created any tables yet
curl http://localhost:8082/api/v1/ready # expected response 'OK'
Export the KDB.AI docker logs
If you encounter an issue, we recommend to export your log file by running the following:
docker logs <your-container-name> > yourDocker.log 2>&1
Send your log file yourDocker.log
to the Support team.
Stop the KDB.AI docker image
If you wish you stop the KDB.AI Server, stop the container by running:
docker stop <your-container-name>
Next steps
Go to our Quickstart Guide page to set up your table schema and start inserting data.