我正在尝试使用java驱动程序测试设置一致性级别。我创建了一个复制因子= 3的测试键空间和表集(出于测试目的,设置了节点1的集群)。我使用CL设置为ALL从java驱动程序插入,然后尝试在ALL处查询设置CL。预期的行为是它会抱怨没有足够的副本可用,但它根本没有抱怨。我尝试使用CQLSH CONSISTENCY Command并且工作得非常好。我有什么问题吗?
答案 0 :(得分:1)
简短摘要:复制因子描述了您的数据副本的数量。一致性级别描述客户端看到的行为。也许有更好的方法对这些进行分类。
Cassandra中的一致性级别可以配置为管理可用性与数据准确性。
您可以在群集,数据中心或每个读取或写入操作上配置一致性。参与节点之间的一致性可以全局设置,也可以基于每个操作进行控制。
对于客户端应用程序编程,请使用适当的驱动程序设置一致性级别。例如,使用Java驱动程序,使用setConsistencyLevel调用QueryBuilder.insertInto以设置每插入一致性级别。
你没有做错任何事你的案件会发生什么: -
at
因为您只有1个节点设置,并且如果您在本地查询(即在设置Cassandra的同一台机器上),那么数据已经存在/持久存储在您的节点上,并且写入和读取速度足够快,因此您不能得到任何错误。
为了最好地分析场景,您可以转到以下链接: -
<强> https://www.ecyrd.com/cassandracalculator/ 强>
希望它有所帮助。