KDB.AI Server Setup
This section details the steps to setup KDB.AI Server. Ensure your environment meets all the necessary pre-requisites before proceeding.
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
KDB.AI Server requires the following software to be installed on your machine:
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 three of Start the KDB.AI docker image for more details.
Sign up
Ensure you have signed up for KDB.AI Server Edition here.
If running a KDB.AI Server version before 1.0.0, 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.
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 and is needed to access your KDB.AI Server database.
Provide a license
-
Create the environment variable using the corresponding command depending on the format of your license:
kc.lic
export KDB_LICENSE_B64=$(base64 path-to/kc.lic)
k4.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, indexes, and logs:
tree . . └── vecdb ├── data └── logs 3 directories, 0 files
-
Set permissions to read and write to these directories:
chmod 0777 vecdb/data vecdb/logs
-
Run the container in detached mode using the following command:
docker run -d \ -p 8082:8082 \ -e KDB_LICENSE_B64 \ -e KXI_RT_LOG_PATH=/logs \ -v $PWD/vecdb/data:/data \ -v $PWD/vecdb/logs:/logs \ portal.dl.kx.com/kdbai-db:latest
If you do not see a success message, try removing
-d
from the above command to view the container logs and any potential errors.The first port in the
-p
line is configurable, but the second port8082
must not be changed.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 this, add a
--cpuset-cpus
parameter to the Docker run command, for example--cpuset-cpus 1-24
. -
Check the KDB.AI container is running:
docker ps
If you see an error message and are running docker using sudo, add the
-E
flag so enviromental variables like KDB_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
KDB.AI supports Python versions >= 3.8
Ensure curl is installed, for example, `which curl`
-
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 []
curl -H http://localhost:8082/api/v1/ready # expected response OK
An empty list should be returned as no tables have been created yet.
Export the KDB.AI docker logs
If you encounter an issue, we recommend you export your log file.
-
To export, run:
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, do the following.
-
To stop the container, run:
docker stop <your-container-name>
Next steps
Go to our Quickstart Guide page to set up your table schema and start inserting data.