【发布时间】:2021-08-25 22:54:50
【问题描述】:
当 Cassandara 集群中的一个种子节点出现故障时,我收到以下错误,该集群有 2 个数据中心,每个 DC 中有 6 个节点,复制因子为 3
ReadTimeoutException: Cassandra timeout during read query at consistency ALL (6 responses were required but only 5 replica responded)
java代码中的ConsistencyLevel已设置为local_quorum:
.withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.**LOCAL_QUORUM**)
所以,我的理解是,即使 DC1 中的一个节点出现故障,应用程序仍然应该能够查询数据库,因为 RF 为 3,DC1 中有 5 个节点启动,DC2 中也有 6 个节点,我想知道我'在 Cassandra 的配置中缺少 m 导致即使一个节点关闭也会导致超时问题?
【问题讨论】:
-
你的理解是对的。请检查是否没有使用 quorum all 运行查询。看起来您的一个查询正在以一致的方式运行。请检查您的查询没有以 ALL 一致性级别运行。否则是不可能的