Download Scylla Open Source

Download and install Scylla Open Source on Docker, AWS, RHEL 7, CentOS 7, Debian, Virtual Box, Ubuntu or compile the source from GitHub.

ScyllaDB maintains the current and previous releases of Scylla Open Source. We currently maintain Scylla Open Source 3.0.x and 2.3.x.

Need premium features? Scylla Enterprise includes a Scylla Enterprise license, tested and certified binaries, cluster administration and task automation, hot fixes, 24/7 technical support, and more. SCYLLA ENTERPRISE

Building Scylla from Source

Please visit the Scylla GitHub repository for the most up to date instructions.

Clone the Scylla Git Repository

  • Run the following command to clone the repository:
git clone https://github.com/scylladb/scylla.git

Compile

cd scylla
git submodule update --init --recursive
sudo ./install-dependencies.sh
./configure.py --mode=release
ninja-build ./build/release/scylla

Run

  • To run Scylla with one CPU and ./tmp as a data directory:
  • (Directories not specific as a command-line option will be created under/var/lib/scylla)
./build/release/scylla --datadir tmp --commitlog-directory tmp --hits-directory tmp --view-hints-directory tmp --smp 1
    Use --developer-mode=1 to bypass “number of open files”or io_setup issues for a non production deployent.
  • For more command-line options, run the following command:
./build/release/scylla --help

What’s Next?

For more information on building Scylla, please visit the HACKING page on the GitHub repository.

For bug reports, please use Scylla’s issue tracker on GitHub. Please read the How to report a Scylla problem page before you report bugs. For general help, see Scylla’s documentation. For questions and comments, use Scylla’s mailing lists.

Run Scylla in Docker

Running Scylla in Docker is the simplest way to experiment with Scylla and we highly recommend it. However, running stateful containers is complex and tuning is needed to maximize the performance. We recommend that you use packages and follow Best Practices for Running Scylla on Docker.

Running a Single Instance

$ docker run --name scylla -d scylladb/scylla

Adding Nodes

$ docker run --name scylla-node2 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"
 
$ docker run --name scylla-node3 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"

Using Scylla in Docker

  • You can verify that the cluster is up and running with the following command:
$ docker exec -it scylla nodetool status

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.17.0.3 357 KB 256 66.4% 76ca991f-cf38-4984-8991-7675721a8bf8 rack1
UN 172.17.0.2 354.12 KB 256 70.6% dca727dd-c564-4166-b48f-ac79a5153503 rack1
UN 172.17.0.4 343.46 KB 256 63.0% 0f6d6b2e-de41-4729-a6a6-77e6f228fc5c rack1

  • To use the Cqlsh client to interact with Scylla:
$ docker exec -it scylla cqlsh

Connected to Test Cluster at 172.17.0.2:9042.
[cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.1 | Native protocol v3] Use HELP for help.
cqlsh>

What’s Next?

Visit Scylla Documentation to get best practices for running Scylla on Docker.

Monitoring

It is highly recommended to have a Scylla monitoring stack in place. For more on how to setup Scylla monitoring with Grafana here

For bug reports, please use Scylla’s issue tracker on GitHub. Please read the How to report a Scylla problem page before you report bugs. For general help, see Scylla’s documentation. For questions and comments, use Scylla’s mailing lists.

Building Scylla from Source

Please visit the Scylla GitHub repository for the most up to date instructions.

Clone the Scylla Git Repository

  • Run the following command to clone the repository:
git clone https://github.com/scylladb/scylla.git

Compile

cd scylla
git submodule update --init --recursive
sudo ./install-dependencies.sh
./configure.py --mode=release
ninja-build ./build/release/scylla

Run

  • To run Scylla with one CPU and ./tmp as a data directory:
  • (Directories not specific as a command-line option will be created under/var/lib/scylla)
./build/release/scylla --datadir tmp --commitlog-directory tmp --hits-directory tmp --view-hints-directory tmp --smp 1
    Use --developer-mode=1 to bypass “number of open files”or io_setup issues for a non production deployent.
  • For more command-line options, run the following command:
./build/release/scylla --help

What’s Next?

For more information on building Scylla, please visit the HACKING page on the GitHub repository.

For bug reports, please use Scylla’s issue tracker on GitHub. Please read the How to report a Scylla problem page before you report bugs. For general help, see Scylla’s documentation. For questions and comments, use Scylla’s mailing lists.

Run Scylla in Docker

Running Scylla in Docker is the simplest way to experiment with Scylla and we highly recommend it. However, running stateful containers is complex and tuning is needed to maximize the performance. We recommend that you use packages and follow Best Practices for Running Scylla on Docker.

Running a Single Instance

$ docker run --name scylla -d scylladb/scylla

Adding Nodes

$ docker run --name scylla-node2 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"
 
$ docker run --name scylla-node3 -d scylladb/scylla --seeds="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' scylla)"

Using Scylla in Docker

  • You can verify that the cluster is up and running with the following command:
$ docker exec -it scylla nodetool status

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.17.0.3 357 KB 256 66.4% 76ca991f-cf38-4984-8991-7675721a8bf8 rack1
UN 172.17.0.2 354.12 KB 256 70.6% dca727dd-c564-4166-b48f-ac79a5153503 rack1
UN 172.17.0.4 343.46 KB 256 63.0% 0f6d6b2e-de41-4729-a6a6-77e6f228fc5c rack1

  • To use the Cqlsh client to interact with Scylla:
$ docker exec -it scylla cqlsh

Connected to Test Cluster at 172.17.0.2:9042.
[cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.1 | Native protocol v3] Use HELP for help.
cqlsh>

What’s Next?

Visit Scylla Documentation to get best practices for running Scylla on Docker.

Monitoring

It is highly recommended to have a Scylla monitoring stack in place. For more on how to setup Scylla monitoring with Grafana here

For bug reports, please use Scylla’s issue tracker on GitHub. Please read the How to report a Scylla problem page before you report bugs. For general help, see Scylla’s documentation. For questions and comments, use Scylla’s mailing lists.