卡桑德拉 |更新 system_auth 密钥空间时出现一致性错误

问题描述

我正在使用由 3 个数据中心的 9 个节点组成的 Cassandra 集群。每个 DC 3 个节点。

我们最近发现 system_auth 密钥空间仍然设置为 SimpleStrategy 并且我们使用的是 Cassandra 用户

按照设置复制因子为 3 的 NetworkTopologyStrategy 的步骤,我们登录并发出 alter keyspace 命令。 ALTER KEYSPACE system_auth WITH replication = { 'class' : 'NetworkTopologyStrategy','dc1' : 3,'dc2' : 3,'dc3' : 3 }

这回来了,日志中有错误

CustomTThreadPoolServer.java:223 - Error occurred during processing of message.
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.UnavailableException: Cannot achieve consistency level QUORUM

运行此命令后,我们无法登录到 cqlsh,并且 nodetool 修复 system_auth 返回没有任何可修复的内容

nodetool status system_auth 显示一个数据中心,每个节点拥有 100% 的所有权,其他 2 个数据中心显示为 0%

关于为什么会发生这种情况的任何想法?我在 2 个具有相同服务器配置的较低环境中执行了此完全更改,但从未出现此问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)