You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cassandra启用PasswordAuthenticator后出现连接超时与CPU满载问题

解决方案

  1. 修正system_auth键空间复制策略(核心根因)
    默认system_auth键空间的复制因子为1,3节点集群下绝大多数节点本地没有完整的角色、权限、认证数据,每次身份校验都需要跨节点查询,请求量过大时直接打满CPU。执行以下命令调整复制策略:
ALTER KEYSPACE system_auth WITH REPLICATION = {
    'class' : 'SimpleStrategy',
    'replication_factor' : 3
};

如果是多机房部署,改用NetworkTopologyStrategy为每个机房单独设置复制因子,修改完成后执行全量修复:

nodetool repair -full system_auth

确保所有节点都同步了完整的system_auth数据。

  1. 优化认证缓存配置避免雪崩
    你当前将所有缓存有效期与更新间隔都设为相同的60秒,会导致所有缓存同时过期,瞬间产生大量system_auth查询请求,触发缓存雪崩。建议调整配置为有效期大于更新间隔,后台异步提前刷新缓存,避免同时失效的尖峰:
roles_validity_in_ms: 120000
roles_update_interval_in_ms: 60000
permissions_validity_in_ms: 120000
permissions_update_interval_in_ms: 60000
credentials_validity_in_ms: 120000
credentials_update_interval_in_ms: 60000

如果角色变更频率极低,可进一步将有效期上调至5-10分钟,大幅降低system_auth查询频率。

  1. 检查客户端连接配置
    确认客户端的认证重试次数未设置过高,避免连接失败时大量重试请求放大负载。同时建议升级Cassandra驱动到对应大版本的最新稳定版,旧版本驱动存在开启密码认证时的连接泄漏已知问题。

  2. 临时缓解连接超时
    如果调整完上述配置后仍偶发连接超时,可临时调大cassandra.yaml中的native_transport_max_threads参数,增加处理客户端连接请求的线程数,避免请求排队超时。


内容的提问来源于stack exchange,提问作者Vitul Goyal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:18:03