Adding new nodes to Cassandra cluster
Actually this apply to adding new nodes, or removing existing nodes:
- Add the new node in, make sure AutoBootstrap is set to true so it will step into bootstrap node, for removing old nodes, just shut it down
- For all existing nodes current in ring, do the calculation to get different ranges which used for token, the formula is 2^127/nodes.
- Now, on each node, run “nodeprobe move token-for-this-node”, you can run only one node at a time as data will be moved around
- After all nodes finish the move, do “nodeprobe cleanup” to remove useless entries
The serving should not be affected during the operation though performance may be affected.
The “loadbalance” does not make things perfect, though Cassandra guys mentioned it should be good enough.
1 Comment
Other Links to this Post
RSS feed for comments on this post. TrackBack URI
By Hang, 2010-01-18 @ 22:23
BTW, it seems things like Cassandra are trying to solve the problem of data growth, it is not pure high performance oriented solution, so in real world I may still need things like memcached.