I was hoping I could do the following
· Change seeds
· Change the topology back to simply
· Stop nodes in datacenter 2
· Remove nodes in datacenter 2
· Restart nodes in datacenter 2
Somehow Cassandra holds on to the information about who was in the cluster.
What if I also changed the cluster name in the Cassandra.yaml before restarting?
Is the data bound to the cluster name?
it's a bit tricky and I don't advise it, but the typical pattern is (say you have DC1 and DC2):
1. partition the data centers from one another..kill the routing however you can (firewall, etc)
2. while partitioned log onto DC1 alter schema so that DC2 is not replicating), repeat for other.
2a. If using propertyfilesnitch remove the DC2 from all the DC1 property files and vice versa
2b. change the seeds setting in the cassandra.yaml accordingly (DC1 yaml's shouldn't have any seeds from DC2, etc)
3. rolling restart to account for this.
4,. run repair (not even sure how necessary this step is, but after doing RF changes I do this to prevent hiccups)
I've done this a couple of times but really failing all of that, the more well supported and harder to mess up but more work approach is:
1. Set DC2 to RF 0
2. remove all nodes from DC2
3. change yamls for seed files (update property file if need be)
4. create new cluster in DC2,
5. use sstableloader to stream DC1 data to DC2.
On Wed, Mar 8, 2017 at 8:13 AM, Chuck Reynolds <firstname.lastname@example.org> wrote:
I’m running C* 2.1.13 and I have two rings that are replicating data from our data center to one in AWS.
We would like to keep both of them for a while but we have a need to disconnect them. How can this be done?