On 24 May 2011, at 23:58, Sameer Farooqui wrote:

> Even with AutoBootstrap it is recommended that you always specify the 
> InitialToken on the new node because the picking of an initial token will 
> almost certainly result in an unbalanced ring.
> 
> Right now, I'm afraid that if you simply copied the YAML file from one of the 
> two nodes to the 3rd node, then the 3rd node has an incorrect initial_token 
> setting (it may be conflicting with node 1 or 2's range). 
> 
> Some info about how to choose tokens:
> http://wiki.apache.org/cassandra/Operations#Token_selection
> http://journal.paul.querna.org/articles/2010/09/24/cassandra-token-selection/
> 
> So, once you know what token each of the 3 nodes should have, shut down the 
> first two nodes, change their tokens and add the correct token to the 3rd 
> node (in the YAML file).

At the moment I'm not bothered about balance - just having it work at all would 
be good! initial_token is currently blank (i.e. self-defining according to the 
docs) on all nodes - I can see why that might cause balance issues, but I don't 
see that it would prevent it working as there should not be a token clash. If 
there was a token clash, wouldn't it throw an error saying so?

That second article, while wonderfully practical and informative, suggests that 
cassandra is really not suited to rapid scaling up or down - i.e. adding or 
removing nodes is neither quick nor painless, e.g. scaling from 5 to 20 nodes 
and back is something that might happen over weeks rather than minutes. Maybe 
cassandra just isn't the right tool for the job in this case?

Marcus

Reply via email to