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

WSL2环境Docker部署Cassandra 4.0.1无法通过cqlsh远程访问咨询

问题根因

你遗漏了Cassandra的监听地址相关环境变量配置。官方Cassandra 4.x镜像默认会将RPC服务(也就是cqlsh连接用的9042端口服务)绑定到容器内部IP,仅允许容器网络内的请求访问,外部网络(包括WSL2本地回环、私网/公网地址发来的请求)自然会被拒绝。

需要补充的环境变量

启动Cassandra容器时添加以下两个环境变量即可解决:

  • CASSANDRA_LISTEN_ADDRESS=0.0.0.0:指定Cassandra节点内部通讯的监听地址,设置为0.0.0.0表示监听容器所有网卡
  • CASSANDRA_RPC_ADDRESS=0.0.0.0:指定客户端RPC请求的监听地址,就是cqlsh连接用的服务监听地址,设置为0.0.0.0后允许所有来源的客户端连接

如果是生产环境部署,建议将CASSANDRA_RPC_ADDRESS替换为你实际对外提供服务的指定IP,避免不必要的端口暴露。

修正后的启动命令

docker run --name cassandra-node-0 -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 -e CASSANDRA_CLUSTER_NAME=MyCluster -e CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch -e CASSANDRA_DC=datacenter1 -e CASSANDRA_BROADCAST_ADDRESS=192.168.1.101 -e CASSANDRA_LISTEN_ADDRESS=0.0.0.0 -e CASSANDRA_RPC_ADDRESS=0.0.0.0 -d cassandra

验证方式

容器启动完成后,在WSL2中执行以下命令测试本地回环连接:

cqlsh 127.0.0.1 9042

也可以直接用私网IP192.168.1.101测试跨设备连接。

内容的提问来源于stack exchange,提问作者S. Baek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:54:05