我已经设置了一个具有两个不同节点的多节点cassandra集群,这些集群具有所有必需的配置,即cluster_name,endpoint_snitch,seed,auto_bootstrap等。我正在将数据中心用作这两个节点的dc1。我使用以下方法创建了键空间:
CREATE KEYSPACE dcTest WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'dc1' : 2 };
现在,当我启动两个节点并尝试在数据库中输入数据时,它将在两个节点上创建副本。即,如果我在table中创建4行,它也会在另一个节点上复制所有4行。我希望这些数据分布在各个节点上。即在一个节点上两个,在另一个节点上两个。
它是通过配置键空间来实现的吗?我有什么想念的吗?
Nodetoll状态-
nodetool -p 7199 status cassandrareplication1
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.45.123.123 35.01 MB 256 50.3% 8c529955-c42a-4629-dfgh-0666a444acbb rack1
UN 10.45.123.124 225.4 KB 256 49.7% eddf1039-d803-4d61-dfse-1ce0ec3782a9 rack1
您应该复制因子1,而不是2。这意味着该键空间中的所有数据将在该数据中心内被复制一次。以2作为复制因子,它将被复制两次,三次复制,依此类推。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句