【问题标题】:Not enough replica available for query at consistency LOCAL_ONE (1 required but only 0 alive)没有足够的副本可用于一致性 LOCAL_ONE 的查询(需要 1 个但只有 0 个活动)
【发布时间】:2015-11-10 09:03:08
【问题描述】:

我的 cassandra 集群中有 6 个节点,所有节点都已启动。我的键空间设置为:

replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true

从这个 cass 集群中读取会出现错误:

java.io.IOException: Exception during execution of SELECT "colA", "colB", "colC", "colD" FROM "keyspacename"."tablename" WHERE token("colA") > ? AND token("colA") <= ?  LIMIT 1 ALLOW FILTERING: Not enough replica available for query at consistency LOCAL_ONE (1 required but only 0 alive)

我的所有节点的复制因子都为 1.. 那么是什么导致了这个问题?

我还可以 cqlsh 并在此表中执行“选择”和“插入”。

有人知道怎么回事吗?

【问题讨论】:

  • 所以您可以通过 cqlsh 进行选择,但不能通过 java 驱动程序进行选择?您能否给出 nodetool 状态的输出并显示您的驱动程序用于连接的代码。

标签: cassandra


【解决方案1】:

SimpleStrategy:仅用于单个数据中心。如果您打算使用多个数据中心,请使用 NetworkTopologyStrategy。

或者尝试使用 Consistency ONE、ALL、ANY、QUORUM 运行相同的查询。我的意思是不是 LOCAL_*

【讨论】:

  • 是的,我不得不使用 NetworkTopologyStrategy,因为我的集群位于多个数据中心。谢谢你修复它!
猜你喜欢
  • 1970-01-01
  • 2015-03-14
  • 2019-01-19
  • 2020-06-07
  • 2018-04-14
  • 1970-01-01
  • 2019-06-05
  • 2016-06-20
  • 2015-11-26
相关资源
最近更新 更多