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

Bitnami Helm部署Cassandra:无法通过cqlsh远程连接

解决Bitnami Helm Chart部署的Cassandra集群SSL连接报错问题

问题场景

通过Bitnami Helm Chart搭建的远程Cassandra集群,使用自签名证书,执行cqlsh连接命令时出现文件找不到的错误。

已配置的cqlshrc文件[ssl]段内容:

[ssl]
; certfile = ~/keys/cassandra.cert
; Optional - true by default

validate = flase
; To be provided when require_client_auth=true
userkey = ~/key.pem
; To be provided when require_client_auth=true
usercert = ~/cert.pem

执行的连接命令:

cqlsh --ssl -u cassandra -p 123@123 10.11.xxxx.230 9042

报错信息:

Connection error: ('无法连接到任何服务器', {'10.11.xxxx.230:9042': IOError(2, '没有该文件或目录')})

排查与解决步骤

  1. 修正配置拼写错误
    cqlshrc里的validate = flase是拼写错误,必须改为validate = false,否则SSL验证逻辑会异常。

  2. 检查证书/密钥文件路径

    • 确认~/key.pem和~/cert.pem文件真实存在,部分环境下cqlsh无法正确解析波浪号~,建议替换为绝对路径(例如/home/your-user/key.pem)。
    • 执行ls -l ~/key.pem ~/cert.pem验证文件是否存在,若不存在需重新生成或复制正确的证书文件。
  3. 调整文件权限
    Cassandra要求密钥文件权限不能过宽,执行以下命令设置合适权限:

    chmod 600 ~/key.pem ~/cert.pem
    

    确保运行cqlsh的用户拥有这两个文件的读取权限。

  4. 匹配集群端SSL配置

    • 如果Cassandra集群未开启客户端认证(require_client_auth=false),可注释掉userkey和usercert配置项,仅保留validate=false即可。
    • 如果集群开启了客户端认证,需确保userkey和usercert对应的是集群信任的客户端证书/密钥对。
  5. 启用调试日志定位问题
    执行带调试参数的连接命令,查看更详细的错误细节:

    cqlsh --ssl --debug -u cassandra -p 123@123 10.11.xxxx.230 9042
    

    日志会明确指出找不到的具体文件,帮助精准排查。

内容的提问来源于stack exchange,提问作者Narayana Swamy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:45:10