Make sure that all the ports are open.
Port | Description | Protocol |
---|---|---|
9042 | CQL (native_transport_port) | TCP |
9142 | SSL CQL (secure client to node) | TCP |
7000 | Inter-node communication (RPC) | TCP |
7001 | SSL inter-node communication (RPC) | TCP |
7199 | JMX management | TCP |
10000 | Scylla REST API | TCP |
9180 | Prometheus API | TCP |
9100 | node_exporter (Optionally) | TCP |
9160 | Scylla client port (Thrift) | TCP |
19042 | Native shard-aware transport port | TCP |
19142 | Native shard-aware transport port (SSL) | TCP |
Obtain the IP addresses of all nodes which have been created for the cluster.
Select a unique name as cluster_name for the cluster (identical for all the nodes in the cluster).
These steps need to be done for each of the nodes in the new cluster.
Install Scylla on a node.Follow the Scylla install procedure up to scylla.yaml configuration phase.
Note: In case that the node starts during the process follow these instructions
Procedure
sudo systemctl stop scylla-server
sudo rm -rf /data/ds/sdc/scylla/data
sudo find /data/ds/sdc/scylla/commitlog -type f -delete
sudo find /data/ds/sdc/scylla/hints -type f -delete
sudo find /data/ds/sdc/scylla/view_hints -type f -delete
In the scylla.yaml file, edit the parameters listed below. The file can be found under /etc/scylla/
This step needs to be done only if you are using the GossipingPropertyFileSnitch. If not, skip this step. In the cassandra-rackdc.properties file, edit the parameters listed below. The file can be found under /etc/scylla/
# cassandra-rackdc.properties
#
# The lines may include white spaces at the beginning and the end.
# The rack and data center names may also include white spaces.
# All trailing and leading white spaces will be trimmed.
#
dc=thedatacentername
rack=therackname
# prefer_local=<false | true>
# dc_suffix=<Data Center name suffix, used by EC2SnitchXXX snitches>
After Scylla has been installed and configured, edit scylla.yaml file on all the nodes, using the first node as the seed node. Start the seed node, and once it is in UN state, repeat for all the other nodes, each after the previous is in UN state.
sudo systemctl start scylla-server
This example shows how to install and configure a five nodes cluster using GossipingPropertyFileSnitch as the endpoint_snitch, each node on a different rack.
172.21.0.75
172.21.0.76
172.21.0.77
In each Scylla node, edit the scylla.yaml file
172.21.0.75
cluster_name: 'psap-ds-sdc'
seeds: "172.21.0.75"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "172.21.0.75"
listen_address: "172.21.0.75"
172.21.0.75
cluster_name: 'psap-ds-sdc'
seeds: "172.21.0.75"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "172.21.0.76"
listen_address: "172.21.0.76"
172.21.0.77
cluster_name: 'psap-ds-sdc'
seeds: "172.21.0.75"
endpoint_snitch: GossipingPropertyFileSnitch
rpc_address: "172.21.0.77"
listen_address: "172.21.0.77"
This step needs to be done only if using GossipingPropertyFileSnitch. In each Scylla node, edit the cassandra-rackdc.properties file
172.21.0.75
# cassandra-rackdc.properties
#
# The lines may include white spaces at the beginning and the end.
# The rack and data center names may also include white spaces.
# All trailing and leading white spaces will be trimmed.
#
dc=psap-ds-sdc
rack=psap1alxc001-ds-sdc-rack01
# prefer_local=<false | true>
# dc_suffix=<Data Center name suffix, used by EC2SnitchXXX snitches>
172.21.0.75
# cassandra-rackdc.properties
#
# The lines may include white spaces at the beginning and the end.
# The rack and data center names may also include white spaces.
# All trailing and leading white spaces will be trimmed.
#
dc=psap-ds-sdc
rack=psap1alxc002-ds-sdc-rack01
# prefer_local=<false | true>
# dc_suffix=<Data Center name suffix, used by EC2SnitchXXX snitches>
172.21.0.77
# cassandra-rackdc.properties
#
# The lines may include white spaces at the beginning and the end.
# The rack and data center names may also include white spaces.
# All trailing and leading white spaces will be trimmed.
#
dc=psap-ds-sdc
rack=psap1alxc003-ds-sdc-rack01
# prefer_local=<false | true>
# dc_suffix=<Data Center name suffix, used by EC2SnitchXXX snitches>
Starting Scylla nodes, since our seed node is 172.21.0.75 we will start it first, wait until it is in a UN state, and repeat for the other nodes
sudo systemctl start scylla-server
Verify that the node has been added to the cluster by using the nodetool status command
Datacenter: psap-ds-sdc
================================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 172.21.0.75 1.08 MB 256 ? 9b6435ac-a91b-4c11-bd5c-1e7ef2f6817b psap1alxc001-ds-sdc-rack01
UN 172.21.0.77 753.99 KB 256 ? f1334314-6a9c-43d0-b58e-445bef76918b psap1alxc003-ds-sdc-rack01
UN 172.21.0.75 900.26 KB 256 ? 60b36f16-d8a3-457d-8b7c-3c706234de1e psap1alxc002-ds-sdc-rack01
Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless