问题描述
我正在使用由 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 (将#修改为@)