从复制中删除了 DC2,但仍然可以从 DC2 节点查询日期

Removed DC2 from replication but still able query date from DC2 nodes

我正在尝试从我的 Cassandra 集群中删除一个 DC2。为此,我首先将 DC2 中的复制因子从 2 更改为 0。我尝试在 DC1 节点 1 中插入一行,但在从 DC2 节点查询时我仍然收到这一行。 为什么会这样?

我假设您正在使用 cqlsh 查询数据。默认情况下,它使用 ONE 的一致性,因此它将查询任何副本。在你的情况下,它们都恰好在 DC1 中。

如果您尝试使用本地一致性进行查询,那么您可能会得到(或没有)我认为您期望的结果。

附带说明一下,虽然将复制设置为 0 在技术上是有效的,但更习惯的做法是简单地从复制中完全删除 DC,因此您最终会得到:

ALTER KEYSPACE some_ks WITH REPLICATION = { \
   'class' : 'NetworkTopologyStrategy', \
   'DC1' : 3
}