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

VirtualBox中Ubuntu部署Cassandra后无法连接问题求助

解决Cassandra虚拟机无法通过IP连接的问题

我之前也踩过一模一样的坑,给你几个实用的排查和解决步骤:

  • 先确认Cassandra服务是否真的正常运行
    别光看重启命令执行成功,实际服务可能没起来。执行下面的命令检查状态:

    systemctl status cassandra
    

    如果显示active (running)还不够,再用nodetool status看看节点状态,如果提示连接失败,直接去日志里找根源:

    cat /var/log/cassandra/system.log | grep ERROR
    
  • 检查cassandra.yaml里的关键配置项
    只改listen_address是不够的,还有几个和客户端连接相关的配置必须调整:

    1. rpc_address:这个是处理CQL客户端请求的地址,默认是localhost,要改成0.0.0.0(允许所有IP访问)或者直接设为192.168.56.101
    2. broadcast_rpc_address:虚拟机环境下建议设为和listen_address一样的192.168.56.101,确保外部能正确识别节点的RPC地址
    3. start_rpc:确认这个值是true,如果是false的话,Cassandra会直接拒绝所有客户端连接

    修改完配置后,一定要重启Cassandra服务生效:

    sudo systemctl restart cassandra
    
  • 排查虚拟机防火墙是否拦截了端口
    Ubuntu默认的ufw防火墙可能会挡住Cassandra的CQL端口(9042),先临时关闭防火墙试试:

    sudo ufw disable
    

    如果这时候能连上了,就说明是防火墙的问题,重新开放端口并启用防火墙:

    sudo ufw allow 9042/tcp
    sudo ufw enable
    
  • 确认VirtualBox网络连通性
    先在主机上ping一下192.168.56.101,如果ping不通,说明虚拟机的网络模式有问题:

    • 确保虚拟机用的是Host-Only Adapter或者桥接模式(NAT模式下主机无法直接访问虚拟机IP)
    • 检查虚拟机的IP配置,确认192.168.56.101是正确的静态IP或者DHCP分配的IP
  • 用debug模式定位具体错误
    如果上面的步骤都没解决,执行带debug参数的cqlsh命令,能看到更详细的连接日志:

    cqlsh 192.168.56.101 9042 --debug
    

    从输出里能看到到底是连接超时、被拒绝还是其他问题,方便进一步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:32:18