But, when you run command nodetool-no-pass describecluster, you will see all nodes in the cluster.
ERROR [main] 2024-06-12T10:48:17,780 CassandraDaemon.java:898 - Exception encountered during startup
java.lang.RuntimeException: Bootstrap Token collision between /xx.xx.xx.42:7000 and /xx.xx.xx.43:7000 (token 8344507750274794369
at org.apache.cassandra.locator.TokenMetadata.addBootstrapTokens(TokenMetadata.java:378) ~[apache-cassandra-4.1.0.jar:4.1.0]
at org.apache.cassandra.locator.TokenMetadata.addBootstrapTokens(TokenMetadata.java:360) ~[apache-cassandra-4.1.0.jar:4.1.0]
at org.apache.cassandra.service.StorageService.handleStateBootstrap(StorageService.java:2798) ~[apache-cassandra-4.1.0.jar:4.1.0]
at org.apache.cassandra.service.StorageService.onChange(StorageService.java:2496) ~[apache-cassandra-4.1.0.jar:4.1.0]
at org.apache.cassandra.gms.Gossiper.doOnChangeNotifications(Gossiper.java:1659) ~[apache-cassandra-4.1.0.jar:4.1.0]
at org.apache.cassandra.gms.Gossiper.addLocalApplicationStateInternal(Gossiper.java:2057) ~[apache-cassandra-4.1.0.jar:4.1.0]
In the same cassandra.log file, you will also see log entries similar to:
INFO [main] 2024-06-12T06:04:50,598 StorageService.java:3015 - Nodes /XX.XX.XX.42:7000 and /XX.XX.XX.43:7000 have the same token -1920104746265459352. /XX.XX.XX.42:7000 is the new owner
INFO [main] 2024-06-12T06:04:50,599 StorageService.java:3015 - Nodes /XX.XX.XX.42:7000 and /XX.XX.XX.43:7000 have the same token -1982750550513922253. /XX.XX.XX.42:7000 is the new owner
vRealize Log Insight 8.x
VMware Aria Operations for Logs 8.x
Token collision errors in Cassandra occurs when two or more nodes in a Cassandra cluster are assigned the same token range.
Follow below steps to resolve the Token Collision issue:
Note: Take offline snapshot of all nodes in the cluster before implementing the below steps:
1. Identify the 'hidden' node:
1.1. Run nodetool on the primary node to view the list of the nodes: nodetool-no-pass status
1.2. Visit vRLI UI and view the list of the nodes under Management → Cluster. Alternatively, we can check the list of hosts configured in <distributed></distributed> tag in the latest loginsight-config.xml file in /storage/core/loginsight/config.
1.3. The node that is missing in the nodetool's output is the 'hidden' node of interest.
2. Stop vRLI and Cassandra on the 'hidden' node: service loginsight stop
3. If Cassandra is still running, execute: /usr/lib/loginsight/application/sbin/li-cassandra.sh --stopnow --force
4. Navigate to Cassandra data directory on the 'hidden' node: cd /storage/core/loginsight/cidata/cassandra/
5. Remove commitlog(s) on the 'hidden' node: rm -rf commitlog*
6. Remove data on the 'hidden' node: rm -rf data/
7. Launch vRLI and Cassandra on the 'hidden' node: service loginsight start