Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用cassandra cli或Hector设置列族的一致性级别_Cassandra_Hector - Fatal编程技术网

如何使用cassandra cli或Hector设置列族的一致性级别

如何使用cassandra cli或Hector设置列族的一致性级别,cassandra,hector,Cassandra,Hector,我似乎找不到这样做的方法。文档中没有任何内容(CQL示例或节俭示例除外)。以前有人这样做过吗?我想设置读写的一致性。或者,即使您可以告诉我如何通过每个读/写操作的一致性级别,那也太好了 有一种方法可以在创建键空间时设置一致性级别。但是,如果键空间已经存在,并且您希望更新它的一致性级别,那么情况又如何呢。如果无法完成,那么为什么会这样,因为它通常应该是可用的。您想更新复制因子。一致性级别是指单个查询。要从cassandra cli更新复制因子,您需要使用“update keyspace”命令并更改

我似乎找不到这样做的方法。文档中没有任何内容(CQL示例或节俭示例除外)。以前有人这样做过吗?我想设置读写的一致性。或者,即使您可以告诉我如何通过每个读/写操作的一致性级别,那也太好了


有一种方法可以在创建键空间时设置一致性级别。但是,如果键空间已经存在,并且您希望更新它的一致性级别,那么情况又如何呢。如果无法完成,那么为什么会这样,因为它通常应该是可用的。

您想更新复制因子。一致性级别是指单个查询。要从cassandra cli更新复制因子,您需要使用“update keyspace”命令并更改策略选项

UPDATE KEYSPACE demo WITH strategy_options = {replication_factor:1}

Zanson是正确的-一致性级别是在逐个查询的基础上确定的。因此,您执行的每个读写查询都将指定自己的一致性级别。我相信默认情况下这是法定人数。仲裁是基于密钥空间的复制因子计算的

->复制因子是在键空间级别定义的

->读/写一致性级别是在查询时定义的。

此处描述了此问题 他们删除了可用于设置每个请求的一致性级别(CL)(即在CQL中)。 并决定将其设置在列Famaly(CF)级别

不幸的是:(


但是如果使用php pro_cassandra,您可以这样做:

您将一致性级别(指单个查询)和复制因子(在创建键空间时设置)混为一谈

要更改现有密钥空间的复制系数,请使用“alter keyspace”命令:

ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};
来源:


否。我只希望列族具有所需的读写一致性级别。不要更新键空间的复制因子。此语法完全错误,应该是
ALTER keyspace demo WITH replication={'class':'SimpleStrategy','replication\u factor':1}
。请参阅下面我的答案。在回答此问题时,cassandra cli工具中的语法是正确的,该工具是如何与cassandra交互的。好的。这就澄清了它。谢谢。cassandra cli对所有写入和读取操作都使用默认一致性级别1。啊,对了。我一直在使用cassandra之上的FluentCassandra c#客户端,它是h必须是默认的法定人数。