ScyllaDB is an open-source NoSQL database that is designed to provide high performance, availability, scalability, and low latency for big data applications. It is compatible with Cassandra Query Language (CQL) and can be used as a drop-in replacement for Cassandra.
This tutorial explains how to install ScyllaDB inside a Docker container in the Linux. Commands have been tested on Ubuntu.
Make sure you have installed Docker in your system. If you are using Ubuntu, installation instructions can be found in the post.
- Host network
Run the following command to create a container for ScyllaDB that uses host network:
docker run -d --name=scylladb --restart=always --network=host \ -v /opt/scylladb/data:/var/lib/scylla \ scylladb/scylla
- User-defined bridge network
User-defined bridge network can be used for listening on different port. By default, ScyllaDB service is listening on the following ports:
|7000||Used for inter-node cluster communication.|
|7001||Used for SSL inter-node cluster communication.|
|9042||Client port that used to connect to ScyllaDB and perform operations.|
|9160||ScyllaDB Thrift client port.|
|9180||Used for the Prometheus metrics API.|
|10000||Used for the Scylla REST API.|
Ports can be changed with
docker network create app-net
docker run -d --name=scylladb --restart=always --network=app-net \ -p 8080:7000 -p 8081:7001 -p 8082:9042 -p 8083:9160 -p 8084:9180 -p 8085:10000 \ -v /opt/scylladb/data:/var/lib/scylla \ scylladb/scylla
Note: It might take a while before initialization is finished and the Docker container starts to respond to requests.
Run the following command to open the ScyllaDB client and display a list of all keyspaces:
docker exec -it scylladb cqlsh -e "DESCRIBE keyspaces"
system_schema system system_distributed system_auth system_distributed_everywhere system_traces
To completely remove ScyllaDB, remove its container:
docker rm --force scylladb
Remove ScyllaDB image:
docker rmi scylladb/scylla
You can also remove ScyllaDB data:
sudo rm -rf /opt/scylladb
If a user-defined bridge network was created, you can delete it as follows:
docker network rm app-net
Leave a CommentCancel reply