For testing here and describing the question simple, I used two nodes to build a cassandra(2.1.11) cluster (192.168.56.110 and 192.168.56.111), Now I added one additional node(192.168.56.112) to this cluster, and I hope my new ring balanced through using nodetool move command, but when I using the following steps:
1. Getting the 192.168.56.110's all token range, such as 981588427421702712 -- 1007755089748978774 2. Getting the new node's all token range, such as 5458173168911717635 -- 5458821955945522089 3. I executed the command: [root@test-1 pengcz]# ../cassandra-2.1.11/bin/nodetool -h 192.168.56.110 -u admin -pw admin4587 move 5458173168911717635 error: target token 5458173168911717635 is already owned by another node. -- StackTrace -- java.io.IOException: target token 5458173168911717635 is already owned by another node. According to the article Load balancing <https://wiki.apache.org/cassandra/Operations> said: If you add nodes to your cluster your ring will be unbalanced and only way to get perfect balance is to compute new tokens for every node and assign them to each node manually by using nodetool move command., I think I seemly understood nodetool move command wrong, But I don't know how to understand it and balance the new cluster? Any advice will be appreciated! Dillon