在3节点Cassandra集群中将复制因子设置为2;但是在插入

时间:2016-09-16 12:26:46

标签: cassandra cassandra-cli

我有一个3节点集群,复制因子为2,但数据在所有3个节点上都被复制。这就是我创建键空间的方式:

  

创建KEYSPACE,如果没有复制演示复制= {'class':'SimpleStrategy','replication_factor':2};

这里缺少什么?

3 个答案:

答案 0 :(得分:1)

Cassandra根据行的主键分发数据。任何表通常分布在所有机器上,当您插入一行时,它仅插入“两台机器”(这两台机器不是随机的,可以用nodetool计算)

如果您想了解有关如何通过主键分发数据的更多信息,请查看分区程序。 Cassandra Partitioners

答案 1 :(得分:0)

分布 3 节点上的数据,每个节点包含 2 个数据:它自己的数据与其分配的数据有关分区和属于其邻居节点的数据。

答案 2 :(得分:0)

尝试在该键空间中的表中的任何分区键上执行getendpoints。您将获得保存该分区的节点列表。在这种情况下,您应该只输出2个节点。

$ nodetool getendpoints <keyspace> <table> key