Getting Started with Scylla on Ubuntu 14.04

Prerequisites

For server configuration, see documentation on recommendations for high performance.

Procedure

Add the Scylla APT repository to your system.

Registration is required.

Configure and run Scylla on Ubuntu 14.04

Configure Scylla

Configure the /etc/scylla/scylla.yaml file with the following parameters:

ItemContent
cluster_nameName of the cluster, all the nodes in the cluster must have the same name
seedsSeed nodes are used during startup to bootstrap the gossip process and join the cluster
listen_addressIP address that the Scylla use to connect to other Scylla nodes in the cluster
rpc_addressIP address of interface for client connections (Thrift, CQL)

More information regarding the scylla.yaml file.

Scylla setup

Run the scylla_setup script to tune the system settings

sudo scylla_setup

This script invokes a set of scripts to configure several operating system settings, like setting RAID0 and XFS filesystem. It also runs a short (up to a few minutes) benchmark on your storage and generates the /etc/scylla.d/io.conf configuration file. When the file is ready, you can start Scylla (see below). Scylla will not run without XFS or io.conf file. To bypass this check, set Scylla to developer mode

Run Scylla as a service

sudo service scylla-server start

If Scylla starts successfully, you will see:

$ sudo service scylla-server start
 scylla-server start/running, process 9367

and you are able to access the node with cqlsh:

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

If Scylla does not start up successfully and you see:

$ sudo service scylla-server start
 scylla-server stop/waiting

You should check Scylla logs in /var/log/syslog and follow its instructions (or report a bug).

Run scylla-jmx as a service

sudo service scylla-jmx start

After the JMX proxy is started, you can access the Scylla server using nodetool:

$ nodetool status
 Datacenter: datacenter1
 =======================
 Status=Up/Down
 |/ State=Normal/Leaving/Joining/Moving
 --  Address    Load       Tokens  Owns    Host ID                               Rack
 UN  127.0.0.1  16.83 KB   256     ?       ec2c7a8b-182a-408f-aad8-052247f7e677  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

Run cassandra-stress

Finally, to test the Scylla node, run cassandra-stress:

cassandra-stress write -mode cql3 native

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, by the deb package install scripts. See the guide for a complete reference on settings used: Getting Started

Apache®, Apache Cassandra®, are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. No endorsement by The Apache Software Foundation is implied by the use of these marks.