【问题标题】:Cassandra Replication FactorCassandra 复制因子
【发布时间】:2019-08-10 01:29:01
【问题描述】:

假设我在单个 Cassandra 集群中有两个数据中心(DC1、DC2)。

DC1 - 4 个节点。 DC2 - 4 个节点。

最初我将所有键空间的复制因子设置为 {DC1:2 , DC2:2}。(网络拓扑策略)

但是一段时间后,假设我更改了键空间并将所有键空间的复制因子更改为 {DC:2}。(删除 DC1)。DC1 没有复制因子。

那么现在会发生什么? DC1 将来会不会有任何数据写入其中? 是否将所有令牌范围仅分配给 DC2?

【问题讨论】:

  • 这是一个有点奇怪的问题,你为什么不直接建立一个示例集群并尝试一下呢? :) 无论如何,在这种情况下,Cassandra 的行为将完全符合您的预期。不会再向 DC1 写入任何内容,所有令牌范围将仅分配给 DC2。
  • DC1 中的现有数据会发生什么变化?如果所有令牌范围都只分配给 DC2,它将如何读取?
  • 数据只能从 DC2 读取。

标签: cassandra replication cassandra-2.1


【解决方案1】:

如果您排除 DC1 - 它不会为该键空间写入数据,也不会从 DC1 读取数据。在关闭 DC1 之前,请确保您在 DC2 中的服务上执行nodetool repair,以确保您已同步所有数据。更换射频后,你

当您更改特定键空间的 RF 时,驱动程序和 Cassandra 本身会重新计算令牌范围分配,并考虑有关数据中心的信息。

【讨论】:

    猜你喜欢
    • 2017-11-16
    • 1970-01-01
    • 2013-12-14
    • 2016-06-23
    • 2018-10-11
    • 2013-02-02
    • 2019-11-27
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多