I have equally balanced, 36 node cluster,  RandomPartitioner, RF=3
SimpleStrategy, SimpleSnitch, cassandra 0.8.7
I'd like to change cluster topology because:
 - after some reorganization in our DC 18 nodes was moved to separate room.
 - I'd like to change 9 nodes to brisk to have analytical processing features

So, target cluster parameters would be RandomPartitioner, dc:brisk
RF=1 dc:cassandra RF=3, NetworkTopologyStrategy, PropertyFileSnitch :
 - 18 nodes dc:casssandra rack:rack1 (let's name them CR1 nodes)
 - 9 nodes dc:cassandra rack:rack2 ( let's name them CR2 nodes)
 - 9 nodes dc:brisk rack:rack1 (let's name them BR1 nodes)
placed on ring in pattern CR2 CR1 BR1 CR1 CR2 CR1 BR1 CR1 ...

I can't stop my service - everything must be done online.

I'm starting with 36 CR1 nodes. My plan is:
1. remove every fourth node from cluster (i*4).
2. change endpoint snitch to PropertyFileSnitch & configure removed
nodes as cassandra:rack2 & perform rolling restart
3. readd them to cluster at previous token

Now I'll have 27 nodes in cassandra:rack1 and 9 nodes in
cassandra:rack2 in pattern:
CR2 CR1 CR1 CR1 CR2 CR1 CR1 CR1 ...

4. remove next every fourth node from cluster (i*4+3 - CR1)
5. configure them as brisk:rack1 in property file & install brisk
instead of cassandra & perform rolling restart
6. readd them to cluster at previous token
7. alter keyspace and set RF=1 in brisk DC

After all that steps I'll reach my target.

Any "don't do that" or "are you insane"  thoughts? ;)

Regards,
Wojtek

Reply via email to