Types of snitches

DataStax Enterprise (DSE) provides the following types of snitches:

DseSimpleSnitch (default)

Use this snitch only for development deployments. This snitch does not recognize datacenter or rack information. When using this snitch, define the keyspace to use SimpleStrategy and specify a replication factor.

GossipingPropertyFileSnitch

This snitch is recommended for production. It uses rack and datacenter information for the local node defined in the cassandra-rackdc.properties file and propagates this information to other nodes via gossip. To configure, see cassandra-rackdc.properties file.

Ec2Snitch

Use this snitch for simple cluster deployments on Amazon EC2 where all nodes in the cluster are within a single region.

In EC2 deployments, the region name is treated as the datacenter name, and availability zones are treated as racks within a datacenter. For example, if a node is in the us-east-1 region, us-east is the datacenter name and 1 is the rack location. (Racks are important for distributing replicas, but not for datacenter naming.) Because private IPs are used, this snitch does not work across multiple regions. To configure, see Ec2Snitch.

Ec2MultiRegionSnitch

Use this snitch for deployments on Amazon EC2 where the cluster spans multiple regions.

You must configure settings in both the cassandra.yaml file and the property file (cassandra-rackdc.properties) used by the Ec2MultiRegionSnitch. To configure, see Ec2MultiRegionSnitch.

GoogleCloudSnitch

Use this snitch for DSE deployments on Google Cloud Platform across one or more regions. The region is treated as a datacenter, and the availability zones are treated as racks within the datacenter. All communication occurs over private IP addresses within the same logical network. To configure, see GoogleCloudSnitch.

CloudstackSnitch

Use this snitch for Apache Cloudstack environments. Because zone naming is free-form in Apache Cloudstack, this snitch uses the <country> <location> <az> notation. To configure, see CloudstackSnitch.

PropertyFileSnitch

This snitch determines proximity as determined by rack and datacenter. It uses the network details located in the cassandra-topology.properties file. When using this snitch, define datacenter names using a standard convention, and make sure that the datacenter names correlate to the name of your datacenters in the keyspace definition. Every node in the cluster should be described in the cassandra-topology.properties file, which must be exactly the same on every node in the cluster.

RackInferringSnitch

This snitch determines the proximity of nodes by datacenter and rack, which are assumed to correspond to the second and third octet of the node’s IP address, respectively. It is best used as an example for writing a custom snitch class (unless this format happens to match your deployment conventions).

Arc Vnodes compare fig
Arc rack inferring snitch IPs

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com