Hi,
The company I work for is having so much success that we are expanding
worldwide :). We have to deploy our Cassandra servers worldwide too in
order to improve the latency of our new abroad customers.
I am wondering about the process to grow from one data center to a few of
them. First thing is we use EC2Snitch for now. So I guess we have to switch
to Ec2MultiRegionSnitch.
Is that doable without any down-time ?
Our C* cluster : C*1.2.2, 6 EC2 m1.xLarge in eu-west already running,
wanting to add 3 m1.xLarge on us-east
I was planning to do it this way:
1/ Change the yaml conf on each of the 6 eu-west existing nodes
- Ec2Snitch to Ec2MultiRegionSnitch
- uncomment the broadcast_address and set the public ip of the node
- let the private ip as defined right now the listen_address
- switch seeds from private to public IP
2/ Rolling restart
- nodetool disablegossip
- nodetool disablethrift
- nodetool drain
- rm /path/cassandra/commitlog/* ? (I used to do it since drain was
broken to avoid replaying counters logs, leading to overcounts, not sure
how pertinent this is nowadays)
- service cassandra stop
- service cassandra start
3/
- Make sure everything is still running smoothly in eu-west servers
4/
- Add 3 nodes one by one with auto_bootstrap set to true.
5/
- Repair nodes (one by one)
- Cleanup nodes (one by one)
Questions :
a/ Do I have to move the tokens since I don't use vnodes yet ? How should I
position all these nodes ?
b/ Is it useful to add a seed from the new us-east data center in the yaml
of all nodes ?
c/ I am using the SimpleStrategy. Is it worth it/mandatory to change this
strategy when using multiple DC ?
d/ With my 2 DC will I have 3 RF per DC or cross DC ?
e/ Should I configure my C* client to use the C* nodes from their region as
coordinators (which seems to me the good way) or should I configure all
the servers everywhere ?
Any comment on the process described above would be appreciated, specially
if you are arguing that something is wrong about it.
If you find out I am missing something, I will be glad to hear about it.
Alain