【问题标题】:Strange behaviour while reading data from Cassandra Columnfamily从 Cassandra Columnfamily 读取数据时出现奇怪的行为
【发布时间】:2017-02-11 00:37:54
【问题描述】:

我正在尝试使用 cqlsh (cqlsh 5.0.1 | Cassandra 2.1.12 | CQL spec 3.2.1 | Native protocol v3) 对列族进行以下查询

查询:

select * from CassandraColumnFamily limit 10

但它给出了以下错误

错误:

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

我可以使用以下 python 脚本读取数据。我无法弄清楚这可能是什么问题。

cluster = Cluster(
            contact_points = ['IP1','IP2','IP3']
            )
    session = cluster.connect('cw')       
    query = "select col1 , col2, col3, col4, col5 from CassandraColumnFamily"
    statement = SimpleStatement(query, fetch_size=50000)

【问题讨论】:

    标签: python cassandra datastax cassandra-2.0


    【解决方案1】:

    我不确定您尝试获取的行有多大,以及有多少。但是,当您在 CQL 中对主键没有任何条件的情况下进行选择时,您正在执行成本高昂的范围扫描。请记住,这不是 MySQL。当您在特定行键上进行查找时,Cassandra 会发挥最佳作用。

    无论如何,您可以尝试增加 cqlsh 的超时时间以使其正常工作。

    在您的主文件夹中,创建一个名为 cqlshrc 的文件,其内容如下: [联系] client_timeout = 10

    你也可以这样设置来禁用超时: client_timeout = 无

    更多关于 cqlshrc https://docs.datastax.com/en/cql/3.1/cql/cql_reference/cqlshrc.html

    【讨论】:

      猜你喜欢
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2014-01-16
      • 2016-11-15
      相关资源
      最近更新 更多