假设在一个cassandra集群中有两个数据中心(dc1、dc2)。
dc1-4个节点。dc2-4个节点。
最初,我将所有键空间的复制因子设置为{dc1:2,dc2:2}(网络拓扑策略)
但是过了一段时间,让我们假设我更改了keyspace,并将所有keyspace的复制因子更改为{dc:2}(删除dc1)。dc1没有复制因子。
那么现在会发生什么呢?dc1将来是否会将任何数据写入其中?所有令牌范围是否只分配给dc2?
假设在一个cassandra集群中有两个数据中心(dc1、dc2)。
dc1-4个节点。dc2-4个节点。
最初,我将所有键空间的复制因子设置为{dc1:2,dc2:2}(网络拓扑策略)
但是过了一段时间,让我们假设我更改了keyspace,并将所有keyspace的复制因子更改为{dc:2}(删除dc1)。dc1没有复制因子。
那么现在会发生什么呢?dc1将来是否会将任何数据写入其中?所有令牌范围是否只分配给dc2?
1条答案
按热度按时间qltillow1#
如果排除dc1,则不会为该键空间写入数据,也不会从dc1读取数据。在关闭dc1之前,请确保执行以下操作:
nodetool repair
在dc2中的服务器上,确保所有数据都已同步。更换射频后当您更改特定键空间的rf时,drivers和cassandra本身会重新计算令牌范围分配,并考虑到有关数据中心的信息。