我有一个 Kubernetes 设置。 Pod A 正在与 Cassandra Pod 通信。
有时 Cassandra 会变得不可用。我查看了 Cassandra 日志,看到了以下日志:
WARN [epollEventLoopGroup-5-2] 2024-09-30 10:10:12,093 ExceptionHandlers.java:139 - Unknown exception in client networking
io.netty.channel.StacklessClosedChannelException: null
我检查了内存/堆内存和CPU消耗,它们没有被过度使用。
这个问题听起来确实很笼统,但也许有经验的人可以指出我需要看的地方。
我需要在 Cassandra 中调试什么才能了解为什么收到此错误?
正如您所指出的,您的问题非常笼统,所以我只能给出一般性答复。
当驱动程序报告 Cassandra 不可用时,您需要密切关注 (1) 完整错误消息和 (2) 完整堆栈跟踪,因为这 2 个详细信息的组合将为您提供需要调查的线索.
需要注意的是,有时,由于网络中断或网络连接问题,Cassandra 集群本身可能无法访问,因此在服务器端进行调查是毫无意义的。同样,错误消息和堆栈跟踪是必要的,因为它可以提供洞察力。
如果您认为问题出在集群中的某个节点上,那么您需要放大并分析日志条目 (3),其时间与上面驱动程序登录 (1) 的时间相同,以及之前的几行它。一旦您确定了服务器端 (4) 完整错误消息和 (5) 完整堆栈跟踪,这些将为您提供下一组线索,从而确定您调查的后续步骤。
提出问题时提供足够的细节非常重要,因为它可以帮助像我这样的贡献者为您提供最佳答复。如果您有兴趣,我写了一篇文章 询问 Cassandra 的好问题,该文章已发布在 Apache Cassandra 官方网站上,还有 Stack Overflow 的 如何提出好问题。干杯!