Spring 应用程序由于 NoNodeAvailableException 而返回 CassandraConnectionFailureException:没有可用的节点来执行查询

问题描述 投票:0回答:1

我们在现有集群中又添加了 1 个 dc。应用程序分别部署在每个区域。添加 DC 和区域明智的应用程序部署后,即使两个数据中心中的所有节点均正常启动和运行,我们也开始看到以下异常。我们在应用程序部署中使用正确的数据中心名称。我不确定为什么我们会看到这些异常。该应用程序在新数据中心中按预期运行,但现有数据中心存在问题,而且是间歇性的。

数据库版本:4.0.1 驱动程序版本:4.11.3 DataStax Java OSS 驱动程序。

错误详细信息: org.springframework.data.cassandra.CassandraConnectionFailureException:ReactivePreparedStatementCallback; CQL [插入product_by_Itemid(Itemid,数据)值(?,?)使用TTL 60];没有节点可用于执行查询;嵌套异常是 com.datastax.oss.driver.api.core.NoNodeAvailableException:没有节点可用于执行查询

任何人都可以建议可能出了什么问题吗?

问候, 玛尼

cassandra datastax-java-driver spring-data-cassandra cassandra-4.0
1个回答
1
投票

如果问题是间歇性的,正如您在描述中所述,那么我会查看负载。

您是否使用本地一致性级别?

  • 如果没有,这可能就是问题所在,因为您现在有更多节点,这将需要更多时间和资源。您可以查看 DC 之间的延迟。
  • 如果是这样,那么我会考虑与性能相关的问题。磁盘是否饱和,CPU 看起来良好吗?记忆力怎么样?另外,看一下日志,有什么错误报告吗?

验证您的复制因子也正确。如果你改变了它们,你修复了数据吗?

此外,我会升级,因为 4.0.1 是 4.x 的早期版本。

© www.soinside.com 2019 - 2024. All rights reserved.