如何了解连接到cassandra的本机客户端

smdnsysy  于 2021-06-14  发布在  Cassandra
关注(0)|答案(2)|浏览(511)

我可以在opscenter的特定节点上看到160个本机客户端。但没有一个应用程序指向此dc或来自此dc的任何节点。
如果以上是情况,那160个本地客户是什么?
其中很少有是因为我使用devcenter连接到该节点。
休息可以因为dc间的通讯??
没有键空间也为这个dc设置了rf。我马上就要让这个dc退役了。

但不知道那些客户是什么。
有什么想法吗??

dgenwo3n

dgenwo3n1#

我使用以下命令查找连接的客户端: sudo lsof -i -n -P | grep 9042 | grep ESTABLISHED 通过在上面运行,我发现了进程&这些进程都是连接到cassandra的java应用程序。但我没有提到这些主机中的任何一个,仍然有请求来自它们。
我发现所有这些请求都是因为一致性级别:客户机应用程序的仲裁。尽管应用程序不是直接指向这些DC,而是为了实现仲裁请求,所有DC都在进行。
还有一件事:java客户端应用程序使用用户名(超级用户)“cassandra”,这也需要一致性级别的仲裁。
在9042上没有dc间的通信,所以我对一些来自dc间的连接的假设也是不正确的。
以上是解决我问题的方法。

cbwuti44

cbwuti442#

在最新版本中,您可以使用 nodetool clientlist 或者 select * from system_views.clients ; 在cqlsh中查看实际连接。这将为您提供主机和端口,然后您可以在系统上跟踪绑定到它的应用程序。
在旧的dse版本中,您也可以使用 dsetool perf userlatencytracking [enable|disable] 要启用userlatency跟踪,请执行与 select * from dse_perf.user_io; .

相关问题