当节点中的写入执行并且节点发生故障时,cassandra如何做出反应

时间:2016-01-06 12:17:17

标签: cassandra hector

我们有2个节点的Cassandra集群。复制因子为1,一致性级别为1.我们不使用复制,因为我们插入的数据对于每条记录来说都非常庞大。 当节点在该节点中执行写入时,Cassandra如何响应?我们正在使用Java客户端的Hector API。 我的理解是Cassandra将对正在运行的其他节点执行写操作。

1 个答案:

答案 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)