Update:  I figured out the problem!

The “allocate_tokens_for_keyspace” value needs to be set for a keyspace that 
has RF=3 for the DC being added.  I just had the RF=3 set for the existing DC.

I created a dummy keyspace with RF=3 for the new DC, set 
“allocate_tokens_for_keyspace=<dummy ks>” and then added the nodes … voila!  
Problem solved!



> On Mar 15, 2023, at 10:50 pm, Max Campos <mc_cassand...@core43.com> wrote:
> 
> Hi All -
> 
> I’m having a lot of trouble adding a new DC and getting a balanced ring (i.e. 
> every node has the same percentage of the token ring).
> 
> My config:
> 
> GossipingPropertyFileSnitch
> allocate_tokens_for_keyspace: <points to a NetworkTopologyStrategy RF=3 
> keyspace in the existing DC>
> num_tokens = 16
> 
> 6 nodes in the new DC / 3 nodes in the existing DC
> Cassandra 3.0.23
> 
> I add the nodes to the new DC one-by-one, waiting for “Startup complete” … 
> then create a new test keyspace with RF=3:
> 
> create keyspace test_tokens with replication = {'class': 
> 'NetworkTopologyStrategy', 'ies3': '3'}
> 
> … but then when I run “nodetool status test_tokens”, i see that the “Owns 
> (effective)” is way out of balance (see attached image — “ies3” is the new 
> DC).
> *.62 / node1 / rack1 - 71.8%
> *.63 / node2 / rack2 - 91.4%
> *.64 / node3 / rack3 - 91.6%
> *.66 / node4 / rack1 - 28.2%
> *.67 / node5 / rack2 - 8.6%
> *.68 / node6 / rack3 - 8.4%
> 
> node1 & node2 are seed nodes, along with 2 nodes from the existing DC.
> 
> How can I get even token distribution — “Owns (effective) = 50%" (or 1/6 of 
> the token range for each node)?
> 
> Also: I’ve made several attempts to try to figure this out (ex: all nodes in 
> 1 rack? each node has own rack?  2 nodes per rack?).  Between each attempt 
> I’m running “nodetool decommission” one-by-one,  blowing away 
> /var/lib/cassandra/*, etc.  Is it possible that the existing DC’s gossip is 
> remembering the token range & thus causing problems when I recreate the new 
> DC with some other configuration parameters?  Do I need to do something to 
> clear out the gossip between attempts?
> 
> Thanks everyone.
> 
> - Max
> 
> <Screen Shot 2023-03-15 at 7.19.50 pm.png>
> 

Reply via email to