当前位置: 首页 > 知识库问答 >
问题:

卡桑德拉操作超时

何长恨
2023-03-14

操作超时 - 仅收到 0 个响应“,信息:”表示来自服务器的错误消息“,代码:4608,一致性:1,已接收:0,阻止:1,isData 呈现:0,...

我每天尝试在我的cassandra集群上执行SELECT查询时都会遇到几次这样的错误。我们在m1.large aws实例上有一个3节点集群。他们大多数时候都能成功,但我们偶尔会遇到上述错误。我们还没有生产,所以所有的桌子都很小。我们没有超过几千行的表,同样的查询在其他时候也能很好地完成。提高超时时间不是一个选项,我不相信它能解决问题(查询应该很短,错误中的查询每次都不一样)

这可能是节点之间的某个连接过时或网络问题吗?测试这些的最佳方法是什么?我也只在客户端看到这个错误,我应该在cassandra日志中的某个地方看到这个吗?

共有1个答案

何向荣
2023-03-14

这实际上是一个来自负责处理您请求的C*服务器(也称为“协调器”)的错误。

看起来您正在以“ONE”的一致性级别进行查询,因此只有1个保存数据的副本需要响应服务器上cassandra.yaml文件中配置的read_request_timeout_in_ms内的协调器(默认为5秒),但在该时间段内没有副本响应。

超时可能会发生,您应用程序应该准备好根据您的偏好来处理它们(要么直接失败,要么重试,要么增加复制因子以降低其可能性,等等)。)

以下是您应该考虑的一些事项:

    < li >增加您从中查询数据的密钥空间的复制因子。如果您的复制因子为1,则您依赖于1个节点来响应特定分区的查询。将RF增加到3左右,将使您的应用程序对性能不佳的节点或出现故障的节点更有弹性。 < li >配置您的RetryPolicy以重试读取,具体取决于您希望它如何运行。nodejs-driver的默认设置是仅在< code>received时重试读取一次
 类似资料:
  • 我正在经历节点崩溃,system.logfile显示一堆'ReadTimeoutException'达到500毫秒。 卡桑德拉.yaml 文件具有 [read_request_timeout_in_ms: 10000] 的设置 你们能分享一下我如何解决这些超时问题吗?提前感谢! 错误[shared pool-Worker-241]2017-02-01 13:18:27,663 Message.ja

  • 当我试图从.cql文件插入大量数据时。我得到了下面提到的错误。 我该怎么办?我还在cassandra.yaml中增加了write_request_timeout_in_ms 我的卡桑德拉版本是3.9和蟒蛇 - 2.7 请任何人帮助我解决这个问题!感谢任何回答

  • 我使用的是spring数据cassandra,需要使用jpa映射一个字段,在cassandra中,该字段的类型为

  • 我们运行的cassandra集群有3个节点,复制因子为2。 我们的nodejs服务器是查询这个集群的唯一地方。 是否有其他任何地方的参数设置可能导致不一致的查询? cassandra v2.2.4 nodejs驱动程序v3.0.0 编辑-添加我正在做的事情的示例: 1)检查用户名是否被占用 2)创建用户

  • 我们一直在使用Spark RDD API(Spark 2.0)来处理在Cassandra.Note中建模的数据,这些数据在Cassandra中建模以实现高效的读写。 然而,现在还有SparkSQLAPI,Spark DataFrame API,它也是一种替代的数据访问方法-http://spark.apache.org/docs/latest/sql-programming-guide.html

  • 我用Spring Data Cassandra 2.2.1开发了一个新的应用程序,想在Cassandra 2.1.9服务器上运行它(旧的,我知道)。但是我们得到了错误 Spring数据卡桑德拉手册声称Spring数据2.2.1至少需要卡桑德拉2.1,所以这应该有效,但它没有。我们包含的唯一特定于卡桑德拉的依赖项是 我怎样才能让这个工作?