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

使用Ansible配置MongoDB副本集遇MongoNetworkError连接拒绝问题求助

解决MongoNetworkError: connect ECONNREFUSED 3.142.150.62:28041的排查步骤

1. 先确认端口连通性

  • 在Ansible控制节点执行nc -zv 3.142.150.62 28041或telnet 3.142.150.62 28041,测试端口是否能正常访问。如果不通:
    • 检查目标服务器防火墙(firewalld/iptables)是否开放28041端口,比如firewalld环境可执行firewall-cmd --add-port=28041/tcp --permanent && firewall-cmd --reload开放端口。
    • 排查云服务商的安全组规则,确保允许控制节点IP访问28041端口。

2. 验证MongoDB监听配置

  • 登录主服务器,打开MongoDB配置文件(通常为/etc/mongod.conf):
    • 确认net.bindIp设置为0.0.0.0(允许所有IP访问)或明确包含3.142.150.62,避免仅绑定127.0.0.1导致外部无法访问。
    • 检查net.port是否为28041,确保和Playbook中使用的端口一致。
  • 修改配置后重启MongoDB服务:systemctl restart mongod

3. 检查MongoDB服务状态

  • 在主服务器执行systemctl status mongod,确认服务处于active (running)状态。如果服务未启动:
    • 启动服务:systemctl start mongod,并设置开机自启:systemctl enable mongod。
    • 查看MongoDB日志(默认路径/var/log/mongodb/mongod.log),排查启动失败原因,比如配置语法错误、文件权限不足(如mongod用户无法读写数据目录)。

4. 核对Playbook连接参数

  • 检查Playbook中MongoDB相关模块(如community.mongodb.mongodb_replica_set)的host、port参数,确保和目标服务器的MongoDB配置完全匹配。
  • 如果启用了MongoDB认证,确认Playbook中配置的用户名、密码正确,且该用户拥有clusterAdmin或足够的副本集配置权限。

5. 排查网络路由问题

  • 确认Ansible控制节点和主服务器之间的网络路由正常,没有中间设备(如路由器、代理)阻断流量。
  • 检查主服务器的/etc/hosts文件,确保没有错误的IP映射导致连接异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:06:38