Cassandra间歇性地读取失败

时间:2014-10-13 17:56:18

标签: cassandra cqlsh

我遇到一个令人费解的问题,我的cassandra读取没有返回键'K'的值。我有一个密钥,几乎在2周前被插入到一个列族中,当我连续8次使用CQLSH查询该密钥时,2次没有返回值。 6次正确显示结果。我的键空间的复制因子是3.

此密钥是使用QUORUM一致性(Java Hector客户端)编写的。我正在使用CQLSH读取它,它的默认一致性为1。到目前为止,我还未能对此作出任何解释。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

原因是你不尊重一致性水平的不平衡:

  

(WRITE CL + READ CL)>复制因素

RF = 3 - > QUORUM = 2

所以你的不满意说

  

((WRITE CL)2 +(READ CL)1)> 3
2 + 1> 3 =错误

this post中,您可以找到如何实现一致性。但是,您可能有兴趣调整read repair chance

尝试使用CONSISTENCY命令

在CQLSH中设置CL仲裁
cqlsh> CONSISTENCY QUORUM;

再次执行阅读

HTH, 卡罗