我们有2个节点的Cassandra集群。复制因子为1,一致性级别为1.我们不使用复制,因为我们插入的数据对于每条记录来说都非常庞大。 当节点在该节点中执行写入时,Cassandra如何响应?我们正在使用Java客户端的Hector API。 我的理解是Cassandra将对正在运行的其他节点执行写操作。
答案 0 :(得分:2)
不,使用CL.ONE如果插入的数据属于被击落节点的令牌范围,则不会执行写入。一致性级别定义了多少副本节点必须响应才能接受请求。
如果您希望能够写入,即使副本节点已关闭,您也需要使用CL.ANY。 ANY将确保协调器存储请求的提示。提示存储在System.Hints表中。复制副本再次恢复后,将处理所有提示并将其发送到即将到来的节点。
修改的
您将收到以下错误:
com.datastax.driver.core.exceptions.UnavailableException: Not enough replica available for query at consistency ONE (1 required but only 0 alive)