【问题标题】:cassandra - queries to one table timing out...alwayscassandra - 对一个表的查询超时......总是
【发布时间】:2014-08-13 09:30:37
【问题描述】:

使用 apache cassandra 2.1 rc4... 使用 datastax c# 驱动程序 + 实体上下文 nuget 包自动创建架构。它创建了相关的表,通过 cqlsh > describe 一切正常。在开发中心,模式显示得很好。然而:

  • 有 8 个表。除了一个人之外,其他人都表现正常。
  • 一个表的插入和选择超时。描述效果很好。

那里几乎没有任何数据 - 大约 100 行。对于有问题的表,

SELECT * FROM tbl;

超时。

SELECT * FROM tbl where pk1='foo' and pk2='bar'

立即返回 0 行。表中似乎没有任何数据(有道理……所有插入都失败)。

将键空间的复制因子从 1 提高到 3(4 节点集群,所有节点都健康)。对密钥空间进行全面修复(再次......那里几乎没有任何数据)。似乎永远需要。

有什么想法吗?

更新: 我将 keyspace 的复制因子提高到 3,运行完整修复(似乎是无止境的),然后在所有节点上运行滚动重启(在完全修复进行时触发滚动重启)。这似乎已经解决了它。一定有什么东西陷入了困境或什么的。这是描述输出:

CREATE TABLE vigil."tallyOrderScores" (
context text,
"orderRef" text,
"ruleId" int,
"ruleText" text,
score int,
PRIMARY KEY ((context, "orderRef"), "ruleId")
) WITH CLUSTERING ORDER BY ("ruleId" ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99.0PERCENTILE';

【问题讨论】:

  • 你能发布来自 cqlsh 的DESCRIBE TABLE tbl 输出吗?
  • 在启用了跟踪的情况下从 cqlsh 尝试并包含该文本

标签: cassandra


【解决方案1】:

您之前是否运行过较旧的 Cassandra?在这种情况下,您可能需要运行 nodetool upgradesstables:http://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsUpgradeSstables.html

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 2016-07-03
    • 2015-12-03
    • 2019-09-28
    • 2017-03-12
    • 2017-12-14
    • 1970-01-01
    • 2015-12-17
    • 2011-06-21
    相关资源
    最近更新 更多