【问题标题】:Cassandra Quorum : Consistency LevelCassandra Quorum:一致性级别
【发布时间】:2016-07-05 23:23:05
【问题描述】:

我在 Cassandra 中有一个 3 DC 环,每个 DC 都有一个 4 节点集群。所以它的 4 个节点*3(DC) = 12 个节点。我正在测试当我们具有Quorum 一致性级别时某些节点出现故障时 Cassandra 的行为。我们在每个数据中心设置了 3 的复制因子。所以我们的

Quorum = Floor(Sum of Replication FActor/2) + 1. RF = 3 quorum= 5.

理论上,如果我的 12 节点集群中有 5 个节点,我应该适合读写。所以我关闭了一个完整的数据中心 DC1,以及另一个数据中心 (Dc2) 中的 3 个节点。所以我在 DC2 和整个 DC3(4 个节点)中有 1 个节点。我有 5 个节点。从理论上讲,这应该有利于我的写作在仲裁一致性方面取得成功。但是,当我跑步时,我得到了

Cassandra.Unavailable Exception: Not enough replica available for query at consistency ONE (5 required but only 4 alive).

但是,我确实有 5 个节点活着。我在这里错过了什么?

【问题讨论】:

    标签: cassandra datastax


    【解决方案1】:

    Quorum 用于整个集群,Local_Quorum 用于单个数据中心。只需了解一些基础知识,cassandra 是分布式系统,这意味着数据分布在您的集群中,每个节点拥有一个主范围,同时复制其他节点的数据。这意味着负责存储一条数据的节点是唯一计算一致性的节点。在您的情况下,5 个节点已启动并不意味着写入或读取满足仲裁一致性,因为所有节点已启动的 DC 肯定会在至少 3 个节点中有数据(请记住您的 RF 为 3),但只有 1 个节点的 DC将有或没有您要查询的数据。

    在您的情况下,如果您使用 Local_quorum 在所有节点都启动的情况下点击 DC,您将获得正确的结果。

    【讨论】:

      【解决方案2】:

      QUORUM 本身是指同一数据中心的成员。 在您的情况下,DC3 有 4 个。 但是您要求的 QUORUM 为 5,这是 DC3 无法提供的。 这就是为什么会有 ONE 和 LOCAL_ONE 这样的概念。

      我很确定您在 QUORUM 5 时会遇到同样的错误,即使您的所有 DC 节点都已启动。

      您可以参考:http://docs.datastax.com/en/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html

      【讨论】:

      • "QUORUM 本身,指的是同一个数据中心的成员。"不正确。您所描述的是 LOCAL_QUORUM。
      • 嗨 Abhishek,我不确定 quorum 是否意味着 dc 中的本地组。根据我的阅读,这是一个描述多数的数字。所以,如果你有 6 个节点,复制因子为 4。我们得到 quorum = rf/2 + 1 => 3。如果我们设置,我们的写入一致性是 quorum,那么只有在得到 3 个节点的确认后,写入才会成功。
      • 嗨亚伦,我的问题是,数字 3 与协调节点一起还是任何 3 个节点?如果它是一个多直流架构,这个数字会如何变化。任何链接都会有所帮助。谢谢!
      • 嗨 Aaron,当您创建会话以在代码中连接到您的 cassandra 集群时,您可以将一致性级别设置为您想要的任何内容。所以,不知道你为什么继续计算默认法定人数。
      【解决方案3】:

      在我看来,操作应该并且将会失败。

      从启动的 DC 中,您可以随时保证 3 个副本,RF 3。

      另一个 DC 中的节点有大约 60% 的时间来确定另一个副本。

      3 + 1 = 4。

      你要求的是 CL 5。

      5 > 4 => 失败。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        • 2014-09-22
        • 2015-09-25
        • 2015-10-27
        • 2017-01-09
        • 2018-06-13
        • 2016-08-25
        相关资源
        最近更新 更多