【问题标题】:Cassandra Database Datastax Coordinator node timed out?Cassandra Database Datastax Coordinator 节点超时?
【发布时间】:2020-07-21 09:49:09
【问题描述】:

我收到以下错误。

cassandra.ReadTimeOut: Error from server: code =1200 [Coordinator node timed out waiting for replica nodes' responses] message = Operation timed out - received only 0 responses." info={consistency: 'LOCAL_ONE',required_responses": 1, 'received_responses": 0}

这是它正在运行的查询

query = "select col1,col2,col3,col4 from table where timestamp >= last_hour and <= current_hour ALLOW FILTERING"

last_hour 和 current_hour 是获取当前时间和过去 1 小时时间的变量。

那我做

queryResult = session.execute_async(query)

并收到错误。

它有时只是成功运行,而有时它会抛出该错误。

【问题讨论】:

    标签: python cassandra datastax


    【解决方案1】:

    主要原因是您错误地使用了 Cassandra。仅当您仅执行特定分区的读取时,它才能快速运行。但是在您的情况下,您对非分区列有一个条件(或者即使它是一个分区,您也不能对其进行范围查询),这会导致 Cassandra 扫描数据库中的所有数据(在所有节点上)得到你的结果。如果数据量合理,这会花费大量时间,并导致超时。

    Cassandra 数据建模的第一条规则是“如果你使用 ALLOW FILTERING,你就做错了”...

    我建议参加DataStax Academy 上的 DS201 和 DS220 课程,以了解 Cassandra 的工作原理以及如何为其设计数据模型。

    【讨论】:

      猜你喜欢
      • 2019-02-14
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2020-07-12
      • 2021-01-12
      • 2019-05-28
      • 2020-08-19
      • 2016-01-16
      相关资源
      最近更新 更多