【问题标题】:Consistency and timeout issues with Cassandra 2.2Cassandra 2.2 的一致性和超时问题
【发布时间】:2017-04-03 14:32:25
【问题描述】:

我正在使用 Cassandra 2.2,并且我有一个需要高度一致性的应用程序。

我已经配置了一个具有 3 个节点的数据中心集群。 我的键空间是用 2 的 replication_factor 创建的。 在每个 configuration.yaml 文件中,我设置了 2 个 seed_providers(例如 NODE_1 和 NODE_3)。

重要的是,即使一个节点出现故障,我的应用也应该是全功能的。

目前,当我的应用联系集群时,我遇到了一些一致性和超时问题。

我已经阅读了整个 Cassandra 2.2 文档并得出结论,我的写入操作的最佳 CONSISTENCY LEVEL 应该是 QUORUM 和我的读取操作 ONE,但我仍然存在一些一致性问题。

首先,具有高度一致性是正确的选择吗? 此外,UPDATEDELETE 操作是否被视为写入或读取操作,因为例如带有 WHERE 子句的更新操作仍然必须“读取”数据?我不确定,特别是在 cassandra 的写入工作流的上下文中。

我的第二个问题是写操作期间的超时。一个简单轻量级的INSERT 有时会得到“Cassandra timeout during write query at consistency QUORUM (2 replicas were required but only 1 acknowledged the write)” 或者有些人甚至“... 0 acknoledged”,即使我所有的 3 个节点都已启动。

是否还有其他一些我应该检查的参数,例如 write_request_timeout_in_ms,默认值为 2000 毫秒(这已经是一个很高的值)?

【问题讨论】:

    标签: cassandra timeout consistency cassandra-2.2


    【解决方案1】:

    Replication Factor = 2Consistency Level = QUORUM 用于写入操作,ONE 用于读取操作。但是如果一个节点宕机了,写操作就会失败。 Consistency Level = QUORUMALL 相同,以防Replication Factor = 2

    您应该使用Replication Factor = 3Consistency Level = QUORUM 进行写入和读取操作,以确保即使一个节点宕机也具有强一致性和功能齐全的应用程序。

    DELETEUPDATE 操作是写操作。

    对于超时问题,请提供失败的表模型和查询。

    更新

    一致性级别适用于副本,而不是节点。

    复制因子 = 2 意味着 3 个节点中有 2 个将包含数据。这些节点将是副本

    QUORUM 表示写入操作必须由 2 个副本(当复制因子=2 时)确认,而不是节点。

    Cassandra 根据分区键将数据放在每个节点上。每个节点负责一个范围的分区键。不是任何节点都可以存储任何数据,因此您需要有活动的副本(不是节点)来执行操作。这里文章about data replication and distribution

    当您对具有 3 个活动节点中的 2 个的集群执行 QUORUM 写入请求时,集群有可能只有 1 个活动副本的分区键,在这种情况下写入请求将失败。

    另外:这里是simple calculator for Cassandra parameters

    【讨论】:

    • 感谢您的回答。但是,请您稍微解释一下,为什么一开始有 3 个复制因子为 2 的节点会在一个节点失败时导致写入操作失败。有一个失败的节点我仍然有 2 个节点可用。在我看来,在这种情况下,使用 QUORUM 一致性编写(必须知道 2 个复制)应该仍然有效。但我可能错了。谢谢。
    • @TheWingman,我在我的答案中添加了关于复制的解释
    • 非常感谢您的所有这些解释。更清楚了
    • 你能看看我的第二个帖子stackoverflow.com/q/40953885/7183762。我真的很感激。谢谢。
    猜你喜欢
    • 2014-10-13
    • 2017-02-23
    • 2017-01-09
    • 2018-09-01
    • 2018-07-26
    • 2017-12-08
    • 2016-04-06
    • 2015-12-17
    • 2011-09-11
    相关资源
    最近更新 更多