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