cassandra - 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。我只是在一个节点上尝试过,它开始在连接请求时给出超时错误。
更新:尝试在所有节点上启用,但仍然出现相同的错误。
解决方案
您得到了,Connection timeout
因为您的应用程序很可能遇到了未启用身份验证的节点。
您需要在所有节点上启用身份验证,否则您的测试将无效。您没有按照设计使用该功能,因此它没有按预期工作也就不足为奇了。干杯!
推荐阅读
- javascript - 完全加载的旋转加载程序后的角度 iframe 无法在 chrome incognito 中工作
- react-native - React Native 延迟键盘出现在 android 上
- c# - 数据网格视图列名称更改
- azure-web-app-service - 如何将来自 Web 应用程序的所有出站呼叫设为私密
- c# - 在 Visual Studio Code for Mac 上找不到类型或命名空间名称“系统”
- jenkins - Jenkinsfile管道在指定目录中以循环模式运行命令
- c# - c#从数据表中求和相同间隔、日期和类型的值
- javascript - Javascript设置按钮激活
- django-rest-framework - DRF如何在没有queruset的情况下调用api
- android - Navigation.findNavController() 找不到视图