0

我们正在尝试配置 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%。

上面的配置正确吗?

谢谢

4

1 回答 1

2

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

在运行 nodetool status "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%,因为每个节点都拥有其主要范围的 1 个副本 (33%) 和它正在复制的任何内容的副本 (33%)

而 DC2 拥有您当前持有的所有数据的 100%。

于 2014-03-17T16:00:53.700 回答