I am able to see 160 Native clients on a particular node from OpsCenter. But none of the application is pointing to this DC or any of the nodes from this DC.
If above is the situtation what are those 160 Native clients?
But not sure what are those clients.
Any idea??
In a future release of Apache Cassandra (4.0+) and DSE (likely 7.0+), there will be a nodetool clientstats command (CASSANDRA-14275), and a corresponding system_views. clients table (CASSANDRA-14458) that includes connection info. This will include the driver name, if the driver client provides one (newer ones do).
Check the status of the Cassandra nodes in your cluster - Go to the /<Install_Dir>/apache-cassandra/bin/ directory and type the ./nodetool status command. If the status for all the nodes shows as UN , then the nodes are up and running. If the status for any node shows as DN , then that particular node is down.
For older Cassandra versions (1.2 and 2.0), the default amount of connections per host are: Local datacenter: two core connection per host, with eight connections as maximum if the simultaneous requests threshold is reached. Remote datacenter: one core connection per host (being two the maximum).
Apache Cassandra® is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.
In latest versions you can use nodetool clientlist
or select * from system_views.clients ;
in cqlsh to view the actual connections. This will give you the host and port which you can then track on the system what application is bound to it.
In older DSE versions you can also use dsetool perf userlatencytracking [enable|disable]
to enable the userlatency tracking to do something similar with select * from dse_perf.user_io;
.
I have used below command to find connecting clients:
sudo lsof -i -n -P | grep 9042 | grep ESTABLISHED
By running above, I found processes & those processes were all the java applications connecting to Cassandra. But I have not mentioned any of these hosts in connection, still requests were coming on them.
I found all those requests were because of Consistency Level: QUORUM by client applications. Although applications are not referring to those DCs directly but to achieve QUORUM requests were going on all DCs.
1 more thing was there: Java client aplications were using username(superuser) 'cassandra', this also need consistency level QUORUM.
Inter DC communication does not happen on 9042, so my assumption of some connections from Inter DC was also not correct.
Above was solution to my problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With