Cassandra 身份验证失败:“无法执行身份验证:无法达到一致性级别 QUORUM”

Posted

技术标签:

【中文标题】Cassandra 身份验证失败:“无法执行身份验证:无法达到一致性级别 QUORUM”【英文标题】:Cassandra Authentication Fail: "Unable to perform authentication: Cannot achieve consistency level QUORUM" 【发布时间】:2020-04-20 00:57:19 【问题描述】:

我正在配置一个 3 节点 Cassandra 集群(多数据中心),一切正常,直到我设置身份验证过程,从 AllowAllAuthenticator 设置为 PasswordAuthenticator,如 Cassandra 的文档中所定义。

问题是,一旦我更改并重新启动节点,我将无法再访问数据库,在这种情况下使用 cassandra 超级用户,显示以下消息:

Connection error: ('Unable to connect to any servers', '10.0.0.10': AuthenticationFailed('Failed to authenticate to 10.0.0.10: Error from server: code=0100 [Bad credentials] message="Unable to perform authentication: Cannot achieve consistency level QUORUM"',))

值得一提的是,在设置身份验证器之前,我已经将 system_auth 更新为 NetworkTopologyStratety,设置了每个节点。

此外,如果没有身份验证,所有复制都可以正常工作,这意味着集群运行良好。

有人知道吗?一旦我没有找到任何关于它的参考资料,这真的让我发疯了。

一切顺利!

【问题讨论】:

【参考方案1】:

我的猜测是您需要在所有节点上运行“system_auth”修复,如果您正在运行 DSE,请确保任何以“dse”开头且具有“简单策略”的密钥空间都更新为 Network具有适当 DC 和 RF 设置的拓扑策略 - 并在每个节点上运行修复。

这应该可以解决您的问题。我的猜测是您创建了用户,然后更新了密钥空间以使用网络拓扑。完成后,任何新记录都将正确传播,但现有记录需要修复以“将它们散开”,因为它不会自行发生。

-吉姆

【讨论】:

也不推荐使用cassandra超级用户——这只是一个通过QUORUM认证的用户。更多详情请见docs.datastax.com/en/security/5.1/security/Auth/…

以上是关于Cassandra 身份验证失败:“无法执行身份验证:无法达到一致性级别 QUORUM”的主要内容,如果未能解决你的问题,请参考以下文章

Python Cassandra:未发送身份验证质询,这是可疑的,因为驱动程序需要身份验证

Keycloak CIBA 身份验证失败并显示“发送身份验证请求失败”

为啥sql server身份验证失败

SQL server2000 windows身份验证失败怎么办

Django,自定义身份验证登录。身份验证失败时如何显示错误消息?

多个身份验证提供者:如果身份验证失败,请不要委托