Getting Started with Scylla on Ubuntu 16.04

Prerequisites

  • Root or sudo access to the system. The Scylla packages create a scylla user. When starting Scylla as a service, the service runs as this user.

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

Install

sudo apt-get update
sudo apt-get install scylla

Answer y twice.

(if prompt for Postfix Configuration, choose No configuration)

Configure and run Scylla on Ubuntu 16.04

Configure Scylla

Update the /etc/scylla/scylla.yaml configuration file. In particular, you must update listen_address to the IP address you want Scylla to listen to (the default is 127.0.0.1) and seed nodes in the seed_provider section to point to your cluster seeds (default is single seed node at 127.0.0.1).

Scylla checks that the data directory is on an XFS filesystem. In order to disable this check for test installs on another filesystem, set Scylla to developer mode using the following command (as root):

/usr/lib/scylla/scylla_dev_mode_setup --developer-mode 1

This script will write the developer mode setting into /etc/scylla.d/dev-mode.conf.

You can change the location of the data directory in the scylla.yaml file, ensuring the scylla user has read and write permissions on the directory.

More on Scylla configuration.

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. It also runs a short (up to a few minutes) benchmark on your storage and generates the /etc/scylla.d/io.conf configuration file. Once the file is ready, you can start Scylla (see below). There is no need to run scylla-io-setup again on this machine, unless you change storage. Scylla will not run without the io.conf file unless in developer mode (see above).

Details on the configuration performed by scylla_setup are in the Scylla System Configuration reference document. (If you need to install an older version of Scylla, you will need to run the individual scripts covered there.)

Run Scylla as a service (if not already running)

sudo systemctl enable scylla-server
sudo systemctl start scylla-server

Run scylla-jmx as a service (if not already running)

sudo systemctl enable scylla-jmx
sudo systemctl start scylla-jmx

run nodetool

nodetool status

run cqlsh

cqlsh

Run cassandra-stress

cassandra-stress write -mode cql3 native <more options>

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.