ScyllaDB Quickstart Lab

16 min lab

In this hands-on lab, you’ll start a single ScyllaDB node with Docker, check its status with nodetool, and connect with the CQL Shell. Then you’ll run your first queries: create a keyspace and a table, insert some data, and read it back.

Note: The environment provided here starts an interactive virtual machine where you can execute all the commands directly from your browser without the need to configure anything. If you’d rather run the lab with Docker on your own machine, follow the steps below.

Run it on your own machine

On macOS or Windows with Docker Desktop, skip to starting the node: Docker Desktop runs containers in its own Linux VM, so the host settings below don’t apply.

On Linux, make sure the aio-max-nr value is 1048576 or more. Check it:

bash
cat /proc/sys/fs/aio-max-nr

If it needs to be changed:

echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
bash
sudo sysctl -p /etc/sysctl.conf

Start a single ScyllaDB node called scyllaU:

bash
docker run --name scyllaU -d scylladb/scylla:2026.2.1 --overprovisioned 1 --smp 1

Give it a minute or so to start, then check its status. UN means the node is up and normal:

bash
docker exec -it scyllaU nodetool status

Connect with the CQL Shell:

bash
docker exec -it scyllaU cqlsh

Create a keyspace and a table, insert two rows, and read them back:

cql
CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'replication_factor' : 1};
use mykeyspace;
CREATE TABLE users ( user_id int, fname text, lname text, PRIMARY KEY((user_id)));
insert into users(user_id, fname, lname) values (1, 'rick', 'sanchez');
insert into users(user_id, fname, lname) values (4, 'rust', 'cohle');
select * from users;

With a single node, cqlsh warns that a replication factor of 1 is lower than the recommended 3. That’s fine for this lab.

When you’re done, exit cqlsh and remove the node:

bash
docker rm -f scyllaU

Something wrong with this lesson? Tell us