【问题标题】:Cassandra replication factor when have multiple data centres拥有多个数据中心时的 Cassandra 复制因子
【发布时间】:2012-09-22 14:55:54
【问题描述】:

我无法理解 Cassandra 中的复制因子。 在文档中它说:“整个集群的副本总数通常被称为复制因子”。 另一方面,在同一文档中,它说“NetworkTopologyStrategy 允许您指定每个数据中心需要多少个副本”。 那么,如果我有 2 个使用 NetworkTopologyStrategy 的数据中心,复制因子为 2 意味着我将在每个数据中心拥有 2 个副本或集群中的整体有 2 个副本?

谢谢。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    使用 NetworkTopologyStrategy 时,您可以使用 strategy_options:{data-center-name}={rep-factor-value} 而不是全局 strategy_options:replication_factor={rep-factor-value} 指定每个数据中心的复制因子。

    这是一个改编自http://www.datastax.com/docs/1.0/references/cql/CREATE_KEYSPACE的具体示例

    CREATE KEYSPACE Excalibur WITH strategy_class = 'NetworkTopologyStrategy'
      AND strategy_options:DC1 = 2 AND strategy_options:DC2 = 2;
    

    在该示例中,任何给定的列将存储在总共 4 个节点上,每个数据中心有 2 个。

    【讨论】:

      【解决方案2】:

      复制因子基本上是您想要拥有的副本数(额外副本)。

      要记住的一件事是它始终声明“副本数不应超过节点数”。所以我有 2 个节点,你不应该有 3 个作为复制因子。

      【讨论】:

      • 您的回答模棱两可。您已经说过复制因子是附加副本的数量,但这意味着如果您有 2 个节点,则复制因子不应高于 1。这是正确的吗?
      • @Andrew 正是我的想法,它模棱两可。
      • 复制因子是附加副本数的说法是错误的。实际上,它是集群中存在的表的每一行的副本总数。
      猜你喜欢
      • 2018-07-11
      • 2017-11-16
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2016-06-23
      相关资源
      最近更新 更多