Python应用无法连接CentOS7部署的DataStax Enterprise 6.8集群求助
解决方案
先将你之前修改的listen_address恢复为默认值localhost,保证DSE可正常启动后,按以下步骤操作即可解决远程连接问题:
1. 调整Cassandra客户端连接配置
你之前修改的listen_address是集群节点内部通信用的参数,对外提供客户端访问的是rpc_address参数,无需随意改动listen_address。
- 打开RPM安装默认路径的配置文件:
/etc/dse/cassandra/cassandra.yaml - 找到
rpc_address参数,修改为服务器局域网IP:rpc_address: 192.168.1.223 - 确认
start_rpc参数值为true,broadcast_rpc_address无特殊需求可直接注释
2. 放开服务器端口访问限制
CentOS 7默认firewalld会拦截9042端口的外部访问,执行以下命令放开规则:
firewall-cmd --add-port=9042/tcp --permanent firewall-cmd --reload
如果服务器额外配置了iptables,也需要同步添加9042端口的入站放行规则。
3. 重启服务验证配置生效
执行命令重启DSE服务:
systemctl restart dse
服务启动完成后执行nodetool status确认节点状态为UN,再执行以下命令确认端口绑定正常:
netstat -tunlp | grep 9042
正常输出会显示192.168.1.223:9042处于LISTEN状态,而非仅绑定127.0.0.1:9042。
4. 本地验证连接
先在本地PC的终端执行telnet验证端口连通性:
telnet 192.168.1.223 9042
端口连通后再运行你的Python代码,即可正常获取到Cassandra版本信息。
内容的提问来源于stack exchange,提问作者user3470294
相关产品推荐
相关产品推荐

