首页 > 解决方案 > Cassandra PasswordAuthenticator 导致超时

问题描述

我有一个带有 3 个节点的 Cassandra 集群,并且想要启用 PasswordAuthenticator。我在 cassandra.yaml 中进行了以下更改。

authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
role_manager: CassandraRoleManager
roles_validity_in_ms: 60000
roles_update_interval_in_ms: 60000
permissions_validity_in_ms: 60000
permissions_update_interval_in_ms: 60000
credentials_validity_in_ms: 60000
credentials_update_interval_in_ms: 60000

我已将有效时间间隔增加到 60 秒,因为角色不会频繁更改。

现在,当我重新启动 cassandra 节点时,该节点有时会成功与客户端连接,但几秒钟后,它开始出现“连接超时”错误。此外,CPU 负载增加到 100%。我附上了两张截图。

在此期间,如果我运行nodetool status,所有 3 个节点都显示为 UN 并且service cassandra status还显示Active状态

注意:我没有在所有节点上启用 PasswordAuthenticator。我只是在一个节点上尝试过,它开始在连接请求时给出超时错误。

更新:尝试在所有节点上启用,但仍然出现相同的错误。

超时错误

服务器负载

标签: cassandra

解决方案


您得到了,Connection timeout因为您的应用程序很可能遇到了未启用身份验证的节点。

您需要在所有节点上启用身份验证,否则您的测试将无效。您没有按照设计使用该功能,因此它没有按预期工作也就不足为奇了。干杯!


推荐阅读