【问题标题】:cassandra count (*) query error OperationTimedOut: errors={}, last_host=127.0.0.1?cassandra count (*) 查询错误 OperationTimedOut: errors={}, last_host=127.0.0.1?
【发布时间】:2016-05-25 06:31:51
【问题描述】:

当 cassandra 表中的行太多并且我在 cqlsh 中运行以下查询时:

select count(*) from tableA 

我得到这个错误:

OperationTimedOut: errors={}, last_host=127.0.0.1

我该如何解决这个错误?

【问题讨论】:

  • 看到这个thread
  • 如果有很多分区,计数操作真的很慢,增加超时将起作用,但您可能希望切换到使用计数器或火花。 stackoverflow.com/a/29394935/266337
  • 由于与我一起工作的人将这篇文章作为他们想做的事情转发给我,我不得不提一下,增加生产集群中的查询超时是可怕的、可怕的想法。

标签: count cassandra timeout cqlsh


【解决方案1】:

我认为您可以在 ~/.cassandra 中创建 cqlshrc 文件并在几秒钟内设置 client_timeout 选项。

~/.cassandra/cqlshrc

[connection]
client_timeout = 30

【讨论】:

    【解决方案2】:

    克里斯链接是完美的,我在计算记录总数时遇到了同样的问题。一种方法是使用上限并不断降低上限,直到解决超时错误。

    select count(*) from usertable limit 1000000;

    【讨论】:

      【解决方案3】:

      对于 Cassandra 2.0.15+、2.1.5+,使用 request_timeout 选项。

      编辑 ~/.cassandra/cqlshrc

      [connection]
      request_timeout = 20
      

      参考这个: https://docs.datastax.com/en/cql/3.1/cql/cql_reference/cqlshrc.html#clqshrc__cql-option

      【讨论】:

        猜你喜欢
        • 2016-01-23
        • 2016-12-07
        • 2015-09-24
        • 2014-08-01
        • 2018-08-31
        • 2019-05-04
        • 2016-10-11
        • 2016-05-23
        • 2019-09-28
        相关资源
        最近更新 更多