Create a Scylla Cluster - Single Data Center (DC)

Prerequisites

  • Make sure that all ports are open
  • Obtain the IP addresses of all the nodes that have been created
  • Select a name for the cluster (identical for all the nodes in the cluster)
  • Choose which node will be the seed nodes (It is recommanded that more than one node is defined as a seed nodes)
  • Choose the snitch (identical for all the nodes in the cluster)

Procedure

These steps need to be done for each of the nodes in the new cluster

1. Install Scylla on a node, see Getting Started for further instructions. Follow the Scylla install procedure up to scylla.yaml configuration phase

In case that the node starts during the process follow these instructions

2. In the scylla.yaml file edit the parameters listed below. The file can be found under /etc/scylla/

  • cluster_name - Set the selected cluster_name
  • seeds - Set the selected seed nodes
  • listen_address - IP address that Scylla used to connect to other Scylla nodes in the cluster
  • auto_bootstrap - By default, this parameter is set to true, it allows new nodes to migrate data to themselves automatically. When creating new cluster, it is recommended to set this parameter to false
  • endpoint_snitch - Set the selected snitch
  • rpc_address - Address for client connection (Thrift, CQL)

3. After Scylla has been installed and configured then edit scylla.yaml file on all the nodes, start the seed nodes one at a time, and then start the rest of the nodes in the cluster using sudo systemctl start scylla-server

4. Verify that the node has been added to the cluster using nodetool status

For example:

This example shows how to install and configure a three nodes cluster, using two seed nodes.

  1. Installing Three Scylla nodes the IP’s are:
192.168.1.201 (seed)
192.168.1.202
192.168.1.203 (seed)
  1. In each Scylla node, edit the scylla.yaml file

192.168.1.201

cluster_name: 'Scylla_cluster_demo'
seeds: "192.168.1.201,192.168.1.203"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "192.168.1.201"
listen_address: "192.168.1.201"

192.168.1.202

cluster_name: 'Scylla_cluster_demo'
seeds: "192.168.1.201,192.168.1.203"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "192.168.1.202"
listen_address: "192.168.1.202"

192.168.1.203

cluster_name: 'Scylla_cluster_demo'
seeds: "192.168.1.201,192.168.1.203"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "192.168.1.203"
listen_address: "192.168.1.203"
  1. Starting Scylla nodes, since our seeds nodes are 192.168.1.201 and 192.168.1.203 we will start them first, after that we can start 192.168.1.202

sudo systemctl start scylla-server

  1. Verify that the node has been added to the cluster by using the nodetool status command
Datacenter: DC1
Status=Up/Down
State=Normal/Leaving/Joining/Moving
--  Address        Load       Tokens  Owns (effective)                         Host ID         Rack
UN  192.168.1.201  112.82 KB  256     32.7%             8d5ed9f4-7764-4dbd-bad8-43fddce94b7c   B1
UN  192.168.1.202  91.11 KB   256     32.9%             125ed9f4-7777-1dbn-mac8-43fddce9123e   B1
UN  192.168.1.203  124.42 KB  256     32.6%             675ed9f4-6564-6dbd-can8-43fddce952gy   B1

See also:

Create a Scylla Cluster - Multi Data Center (DC)

Procedures