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