Download Scylla Open Source

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

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

Notice

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. Please follow our documentation before running it in production. 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.

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.

Choose AMI

Amazon EC2 AMIs

Note that the Scylla AMIs will not work without an attached drive(s) for XFS.

US East (Virginia) us-east-1 ami-5072c82f Scylla 2.1.3 AMI
US West (California) us-west-1 ami-82150ae2 Scylla 2.1.3 AMI
US West 2 (Oregon) us-west-2 ami-c6e793be Scylla 2.1.3 AMI
EU West 1 (Ireland) eu-west-1 ami-b24962cb Scylla 2.1.3 AMI

Choose an Instance Type

For a production system, instances with a fast network and large SSD are recommended. The following instance is pre-tuned in the Scylla AMI and recommended for highest performance:

  • i3 [i3.xlarge .. i3.16xlarge]

Other instance types will work, but with lesser permanence. If you do choose such a type, make sure to run scylla_io_setup.

Configure Instance Details

  • Number of instances – base on your cluster planning
  • Network – Select “Launch into EC2-Classic”, or your own VPC.
  • Advanced Details – Open and add the following options (as text) to the User Data section.
OptionDescription
clusternameRequired. The name of the cluster.
totalnodesRequired. The number of nodes you are adding to cluster. Use the same value as the “Number of instances” above.
seedsOptional. An ip address of a node in an existing cluster. This will instruct Scylla to join an existing cluster. The “clustername” option must match that of the existing cluster.
stop-servicesOptional. Do not start Scylla service on the nodes

Example:

--clustername test-cluster
--totalnodes 3

EC2 Configure Instance Details Capture

Add Storage

Scylla AMI require XFS to work. You Must attach at least one drive for Scylla to use as XFS for the data directory. When attaching more than one drive, AMI setup will install RAID0 on all of them.

The Scylla AMI requires at least two instance store volumes. The Scylla data directory will be formatted with XFS when the instance first boots. Scylla will fail to start if only one volume is configured.

Tag Instance

Configure Security Group

Make sure all Scylla Ports are open.

Review

Launch! You now have a running Scylla cluster on EC2.

To connect to the servers, use the username centos.

ssh -i your-key-pair.pem centos@ec2-public-ip

Default file paths:

  • scylla.yaml at /etc/scylla/scylla.yaml
  • data at /var/lib/scylla/

To check that the Scylla server and the JMX component are running, run nodetool.

nodetool status

Note: This Scylla AMI does not support automatic multi-zone deployment.

Monitoring

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

Reference

Scylla servers set up using this method have the system configuration covered on System Configuration Guide already applied. See the guide for a complete reference on settings used.

Scylla is a 100% open source project. You are welcome to run on Docker, Amazon EC2, or browse the source code and compile it directly from GitHub.

For binary downloads, we ask you to register so we can help you be as successful as possible and let you know about patches and fixes, learning resources, new features, and capabilities. We also invite you to share your feedback to help us improve Scylla.

Scylla is available for the following platforms:

 
After registration, you will receive an email with a link to the download and instructions for installing and running Scylla. If you don’t receive an email from us or have issues installing Scylla, please contact us at help@scylladb.com.

 

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-- 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:
./build/release/scylla --datadir tmp --commitlog-directory tmp --smp 1
  • 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.

Notice

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. Please follow our documentation before running it in production. 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.

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.

Choose AMI

Amazon EC2 AMIs

Note that the Scylla AMIs will not work without an attached drive(s) for XFS.

US East (Virginia) us-east-1 ami-5072c82f Scylla 2.1.3 AMI
US West (California) us-west-1 ami-82150ae2 Scylla 2.1.3 AMI
US West 2 (Oregon) us-west-2 ami-c6e793be Scylla 2.1.3 AMI
EU West 1 (Ireland) eu-west-1 ami-b24962cb Scylla 2.1.3 AMI

Choose an Instance Type

For a production system, instances with a fast network and large SSD are recommended. The following instance is pre-tuned in the Scylla AMI and recommended for highest performance:

  • i3 [i3.xlarge .. i3.16xlarge]

Other instance types will work, but with lesser permanence. If you do choose such a type, make sure to run scylla_io_setup.

Configure Instance Details

  • Number of instances – base on your cluster planning
  • Network – Select “Launch into EC2-Classic”, or your own VPC.
  • Advanced Details – Open and add the following options (as text) to the User Data section.
OptionDescription
clusternameRequired. The name of the cluster.
totalnodesRequired. The number of nodes you are adding to cluster. Use the same value as the “Number of instances” above.
seedsOptional. An ip address of a node in an existing cluster. This will instruct Scylla to join an existing cluster. The “clustername” option must match that of the existing cluster.
stop-servicesOptional. Do not start Scylla service on the nodes

Example:

--clustername test-cluster
--totalnodes 3

EC2 Configure Instance Details Capture

Add Storage

Scylla AMI require XFS to work. You Must attach at least one drive for Scylla to use as XFS for the data directory. When attaching more than one drive, AMI setup will install RAID0 on all of them.

The Scylla AMI requires at least two instance store volumes. The Scylla data directory will be formatted with XFS when the instance first boots. Scylla will fail to start if only one volume is configured.

Tag Instance

Configure Security Group

Make sure all Scylla Ports are open.

Review

Launch! You now have a running Scylla cluster on EC2.

To connect to the servers, use the username centos.

ssh -i your-key-pair.pem centos@ec2-public-ip

Default file paths:

  • scylla.yaml at /etc/scylla/scylla.yaml
  • data at /var/lib/scylla/

To check that the Scylla server and the JMX component are running, run nodetool.

nodetool status

Note: This Scylla AMI does not support automatic multi-zone deployment.

Monitoring

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

Reference

Scylla servers set up using this method have the system configuration covered on System Configuration Guide already applied. See the guide for a complete reference on settings used.

Scylla is a 100% open source project. You are welcome to run on Docker, Amazon EC2, or browse the source code and compile it directly from GitHub.

For binary downloads, we ask you to register so we can help you be as successful as possible and let you know about patches and fixes, learning resources, new features, and capabilities. We also invite you to share your feedback to help us improve Scylla.

Scylla is available for the following platforms:

Already Registered? Click here to access your Download.
 
After registration, you will receive an email with a link to the download and instructions for installing and running Scylla. If you don’t receive an email from us or have issues installing Scylla, please contact us at help@scylladb.com.

 

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-- 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:
./build/release/scylla --datadir tmp --commitlog-directory tmp --smp 1
  • 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.