【问题标题】:Incorrectly configured Cassandra cluster? Odd query resultsCassandra 集群配置不正确?奇怪的查询结果
【发布时间】:2017-03-14 04:08:09
【问题描述】:

我有一个 3 节点 Ec2 Cassandra 集群。其中两个节点被设置为种子。密钥空间配置有一个 NetworkTopologyStrategy 和一个数据中心(us-east),复制因子为 3。snitch 配置为 Ec2Snitch。如果我一遍又一遍地运行相同的查询,有时它会返回结果,有时则不会,这对我来说表明我设置不正确,并且它偶尔会碰到一个没有数据的节点。

我应该以不同的方式进行设置吗?我对 Cassandra 比较陌生,昨天刚刚添加了两个额外的节点。在那之前,我只是为了测试目的而运行一个单节点集群。现在我们离投入生产越来越近了,我想添加一些额外的节点以实现冗余。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    这可能是因为您的一致性级别较低,并且在将新节点添加到集群并增加 RF 后没有运行修复。因此,目前 Cassandra 希望新节点拥有数据,但在您运行修复之前,数据实际上不会被流式传输。

    为了将来的调试,请尝试在 cqlsh 中使用 TRACING ON,这将向您显示有关在查询执行期间正在与哪些节点进行对话的详细信息。

    【讨论】:

    • 我的一致性级别非常低 (ONE)。尽管如此,Cassandra 最终还是应该复制,对吧?将其设置为 ONE 只是意味着它最终是一致的吗?关于 TRACING ON 的实用提示 - 我不知道该功能,所以这会很有帮助。我确实进行了多次修复,但修复后问题仍然存在,我觉得很奇怪。
    • 嗯,让我们看看使用跟踪的结果。您还可以通过在 SSTable 本身上运行 sstable2json 来明确检查各个节点是否有数据。
    猜你喜欢
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    相关资源
    最近更新 更多