Snitch

Snitch

2 min to complete

The Snitch is responsible for determining which racks and datacenters are to be written and read from. Scylla supports the following snitches:

  • SimpleSnitch: Default value, should only be used in single DC clusters
  • GossipingPropertyFileSnitch: Explicitly define for each node in which Rack and DC it belongs. It’s better to use this instead of Simplesnitch
  • Ec2Snitch: Learns the topology on its own from AWS API. Useful for single region clusters deployed on AWS. The region is treated as a DC.
  • Ec2MultiRegionSnitch: Same as Ec2Snitch but for multiple region deployments.
  • GoogleCloudSnitch: For deploying Scylla on the Google Cloud Engine (GCE) platform across one or more regions. The region is treated as a datacenter, and the availability zones are treated as racks within the datacenter.

More info can be found in the Scylla Docs section.

To see the snitch defined in our multi-dc cluster, we use the desribecluster command:

docker exec -it mms_scylla-node1_1 nodetool describecluster

We can see that the Snitch being used is the GossipingPropertyFileSnitch. It allows us to explicitly define which DC and Rack a specific Node belongs to. This snitch reads its configuration from a cassandra-rackdc.properties file that located under /etc/scylla/

docker exec -it  mms_scylla-node1_1 cat /etc/scylla/cassandra-rackdc.properties
To report this post you need to login first.