Getting Started with Scylla on Red Hat Enterprise and CentOS

Use these steps to install Scylla using Yum repositories on RHEL and CentOS.

Prerequisites

  • Red Hat Enterprise Linux 7.2, or CentOS 7.2, for the 64-bit x86_64 architecture.
  • Yum package management application installed.
  • ABRT conflict with Scylla coredump configuration. Remove it before installing Scylla: sudo yum remove -y abrt
  • 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.

What is in each RPM

  • scylla-server (standard) - Server installation
  • scylla-server (debuginfo) - Server debug information.
  • scylla-jmx - Connector which exposes an Apache Cassandra compatible set of JMX endpoints for ScyllaDB
  • scylla-tools - Apache Cassandra tools that work with Scylla:
    • nodetool
    • cqlsh
    • cassandra-stress Note: Installing scylla-tools may override Apache Cassandra tools with the same name.

Install the standard server version, scylla-jmx and scylla-tools to get the most from Scylla.

Scylla is supported on Red Hat Enterprise Linux and CentOS versions 7.2 or later. There is no support for RHEL/CentOS versions 6.x and earlier.

  • CentOS prerequisites
$ sudo yum install epel-release wget
  • RHEL 7 prerequisites
$ sudo yum install wget
$ sudo rpm -i http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
  • install a repo file: Add the Scylla RPM repo to your system.
  • install packages
$ sudo yum install scylla

Configure and run Scylla on RHEL/CentOS

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 start scylla-server

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 scripts included with the RPM packages. See the guide for a complete reference on settings used.