具有DR DC的Cassandra具有意外的不均匀数据分布

时间:2014-03-17 14:43:51

标签: cassandra disaster-recovery

我们正在尝试配置Cassandra集群以用作KV存储。

我们正在生产DC上部署3节点生产群集,但我们还希望在灾难恢复DC上将单个节点作为DR副本。

使用PropertyFileSnitch我们有

 10.1.1.1=DC1:R1
 10.1.1.2=DC1:R1
 10.1.1.3=DC1:R1
 10.2.1.1=DC2:R1

我们计划使用具有以下定义的键空间:

CREATE KEYSPACE "cassandraKV"
  WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'DC1' : 2, 'DC2' : 1};

为了达到以下目的: 2个副本分布在DC1中的3个节点中(每个节点总数据的66%),同时仍然允许单个节点关闭而没有任何数据丢失。 DC2中的1个副本(每个节点100%的总数据)

我们看到每个节点的所有权分配率为25%,而我们预计DC1中的每个节点为33%,DC2为100%。

以上配置是否正确?

由于

1 个答案:

答案 0 :(得分:2)

我的猜测是你在没有指定键空间的情况下运行了nodetool Status。这最终只会向您展示集群中令牌的一般分布,这些令牌不能代表您的“cassandraKV”键空间。

在运行nodetool状态“cassandraKV”时,您应该看到

Datacenter: DC1

10.1.1.1: 66%
10.1.1.2: 66%
10.1.1.3: 66%

Datacenter: DC2

10.2.1.1: 100%

你应该看到DC1节点的66%,因为每个节点拥有它的主要范围的一个副本(33%)和一个复制它的副本(33%)

虽然DC2拥有您目前持有的所有数据的100%。