【发布时间】:2017-01-09 05:13:27
【问题描述】:
我们有 3 节点 Cassandra 集群,复制为 3 。一段时间后,Cassandra(1 个节点)宕机了 2 天。
现在我们无法从 Cassandra 集群中读取数据
有些时候我们变得不频繁
原因:com.datastax.driver.core.exceptions.ReadFailureException:Cassandra 在一致性 ONE 读取查询期间失败(需要 1 个响应,但只有 0 个副本响应,1 个失败) 在 com.datastax.driver.core.exceptions.ReadFailureException.copy(ReadFailureException.java:95) 在 com.datastax.driver.core.Responses$Error.asException(Responses.java:128) 在 com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179) 在 com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:184) 在 com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:43) 在 com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:798)
我们已经解雇了节点>nodetool修复
我们如何检查所有数据是否复制了所有节点?读/写的一致性级别应该是多少? .当前一致性级别为默认(一)。
是否需要任何架构级别更改。
需要任何管理评论吗?
【问题讨论】:
-
你知道具体的请求失败了吗?您可以尝试使用 cqlsh 和
tracing on运行相同的请求吗?此外,您应该使用一致性级别 ONE(多次)和一致性级别 ALL 来尝试此请求。然后会发生什么?
标签: database cassandra spark-cassandra-connector cassandra-cli