我们正在尝试配置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%。
以上配置是否正确?
由于
答案 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%。