Skip to content

Instantly share code, notes, and snippets.

@sbilello
Created March 8, 2019 23:59
Show Gist options
  • Save sbilello/c781bcd1922cc932ec8b3143932e1e19 to your computer and use it in GitHub Desktop.
Save sbilello/c781bcd1922cc932ec8b3143932e1e19 to your computer and use it in GitHub Desktop.
Keyspaces for different Cassandra Reaper configurations
Let's suppose we have 2 datacenters
dc1
dc2
Available Reaper configuration options:
1) datacenterAvailability: ALL
create keyspace reaper_db with replication = {'class' : 'NetworkTopologyStrategy', 'dc1': 3, 'dc2': 3};
1 Reaper instance handling the entire cluster with 2 datacenters
2) datacenterAvailability: LOCAL
// A single datacenter to store the keyspace should be enough correct?
create keyspace reaper_db with replication = {'class' : 'NetworkTopologyStrategy', 'dc1': 3};
1 Reaper instance handling the entire cluster with 2 datacenters but this setup will not allow to handle backpressure
for the remote DC as metrics (pending compactions, running repairs) will not be accessible from Reaper.
3) datacenterAvailability: EACH
// Do we need to have 2 KEYSPACES in 2 different datacenters and 2 different Reaper Instances?
create keyspace reaper_db_1 with replication = {'class' : 'NetworkTopologyStrategy', 'dc1': 3};
create keyspace reaper_db_2 with replication = {'class' : 'NetworkTopologyStrategy', 'dc2': 3};
2 Reaper instances that don't talk each other and handles separately the 2 Data centers
@sbilello
Copy link
Author

sbilello commented Mar 11, 2019

Thanks @adejanovski . Just reporting here @adejanovski comment for memories:

if Reaper in DC1 can talk to nodes in DC2 directly through JMX, you're better off with ALL. EACH is required only if JMX is not accessible through the cross DC link. Also, you can start several reaper with ALL as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment