Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉复制因子_Cassandra_Replication_Cassandra 2.1 - Fatal编程技术网

Cassandra 卡桑德拉复制因子

Cassandra 卡桑德拉复制因子,cassandra,replication,cassandra-2.1,Cassandra,Replication,Cassandra 2.1,假设我在一个Cassandra集群中有两个数据中心(DC1、DC2) DC1-4节点。 DC2-4节点 最初,我将所有键空间的复制因子设置为{DC1:2,DC2:2}。(网络拓扑策略) 但是过了一段时间,让我们假设我更改了键空间,并将所有键空间的复制因子更改为{DC:2}(删除DC1)。DC1没有复制因子 那么现在会发生什么?DC1将来是否会将任何数据写入其中? 所有令牌范围是否仅分配给DC2 如果排除DC1,则不会为该键空间写入数据,也不会从DC1读取数据。在关闭DC1之前,请确保对DC2中的

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

DC1-4节点。 DC2-4节点

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

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

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

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


当您更改特定键空间的RF时,drivers和Cassandra本身会重新计算令牌范围分配,同时考虑到数据中心的相关信息。

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


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

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