Cassandra集群与每个节点的总复制

时间:2014-04-03 10:10:51

标签: cassandra cassandra-2.0

嗨,我是Cassandra的新手。我有一个2节点的Cassandra集群。由于前端强加的原因,我需要......

  1. 两个节点中每个节点上所有数据的完全复制。
  2. 最终一致的写作。因此,被写入的节点将立即响应对前端的确认。未在复制时同步
  3. 谁能告诉我这可能吗?是在YAML文件中完成的吗?我知道有一些属性可以保持一致,但我不知道任何分区符合我的需求。我在哪里可以设置复制因子?

    由于

1 个答案:

答案 0 :(得分:2)

在创建键空间期间设置复制因子。因此,如果您使用(并计划将来使用)单个数据中心设置,则使用cqlsh创建密钥空间,如此

CREATE KEYSPACE "Excalibur"
WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 3};

查看有关create keyspace的文档。如何在内部处理这与snitch definition of the cluster and a strategy option defined per keyspace有关。对于上面的 SimpleStrategy ,这只是假设您的群集的环形拓扑,并将数据顺时针放在该环中(请参阅this)。

关于一致性,在每次操作期间,您的客户端/驱动程序中的写入和读取操作的一致性可以达到非常不同的级别:

  

Cassandra通过提供可调整性来扩展最终一致性的概念 - 对于任何给定的读取或写入操作,客户端应用程序决定所请求数据的一致性。

Read the doc

如果您在客户端和DatatStax Java驱动程序中使用Java,则可以set the consistency级别使用

QueryOptions.setConsistencyLevel(ConsistencyLevel consistencyLevel) 

“One”是默认设置。

希望有所帮助