我似乎找不到办法做到这一点。文档中没有任何内容(CQL示例或thrift示例除外)。有没有人这样做过?我想设置读写的一致性。或者即使您可以告诉我如何为每个单独的读/写传递一致性级别,那也很棒。
有一种方法可以在创建密钥空间时设置一致性级别。但是,如果密钥空间已经存在并且您希望更新其一致性级别,那该怎么办呢?如果无法做到,那为什么会这样,因为它通常应该可用。
答案 0 :(得分:2)
Zanson是正确的 - 一致性级别是基于查询确定的。因此,您执行的每个读写查询都将指定自己的一致性级别。我相信默认设置为QUORUM。 QUORUM是根据Keyspace的复制因子计算的。
- >复制因子是在键空间级别定义的。
- >读/写一致性级别是在查询时定义的。
答案 1 :(得分:1)
此处描述此问题https://issues.apache.org/jira/browse/CASSANDRA-4734 他们删除了可用于设置每个请求的一致性级别(CL)(即在CQL中)。 并决定将其设置为Column Famaly(CF)级别。
不幸的是:(但是如果使用php pro_cassandra - 你可以这样做:https://github.com/Orange-OpenSource/YACassandraPDO/issues/13
答案 2 :(得分:0)
您想要更新复制因子。一致性级别是指单个查询。要从cassandra-cli更新复制因子,您需要使用'update keyspace'命令并更改策略选项。
UPDATE KEYSPACE demo WITH strategy_options = {replication_factor:1}
答案 3 :(得分:0)
您正在混淆一致性级别(指单个查询)和复制因子(在创建键空间时设置)。
要更改现有键空间的复制因子,请使用'alter keyspace'命令:
ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};
<强>来源:强>