Skip to content

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:

  1. 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
  2. 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.
  1. Check your spam folder.
  2. 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:

  1. Log into the KX downloads portal.
  2. Once authenticated, navigate to https://portal.dl.kx.com/auth/token.
  3. Click Add New Bearer token.
  4. 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.

  1. 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.

  2. 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)
This command doens't work:

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

  1. Create a location on the local disk to write data:

    tree .
    .
    └── vdbdata
    
    1 directory, 0 files
    
  2. Set permissions to read and write to this directory:

    chmod 0777 vdbdata
    
  3. 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 port 8082 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.
  4. 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 like KDB_LICENSE_B64 are picked up. Therefore, the command becomes: -E docker ps.

Install the KDB.AI client

  1. 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

  2. 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.