双节点Cassandra集群cqlsh本地连接失败,指定IP可连是否正常?
Cassandra集群cqlsh默认连接失败问题排查
问题是否正常?
这种情况不正常。默认情况下cqlsh会尝试连接127.0.0.1:9042,出现连接拒绝说明Cassandra服务未监听本地回环地址,或配置未正确生效。
原因分析与解决步骤
1. 检查cassandra.yaml核心配置
- 确认
rpc_address设置为0.0.0.0(监听所有网卡),同时设置broadcast_rpc_address为节点的私有IPv4(如172.31.47.96)。注意:broadcast_address用于节点间通信,broadcast_rpc_address才是客户端连接的广播地址,不要混淆两者。 - 修改配置后必须重启Cassandra服务:
sudo systemctl restart cassandra
2. 验证服务监听状态
执行以下命令检查9042端口的监听情况:
ss -tulpn | grep 9042
输出需包含0.0.0.0:9042,表示服务监听所有网卡(包括本地回环)。如果仅显示私有IP的监听,说明配置未生效,需重新检查cassandra.yaml并重启服务。
3. 临时优化:配置cqlsh默认连接地址
若不想每次手动指定IP,可修改~/.cassandra/cqlshrc文件(不存在则创建),添加默认连接参数:
[connection] hostname = 172.31.47.96 port = 9042
保存后,直接执行cqlsh即可自动连接指定节点。
内容的提问来源于stack exchange,提问作者Yosra Khlifi
相关产品推荐
相关产品推荐

