【发布时间】:2018-03-25 09:40:48
【问题描述】:
我正在使用 mongodb,两台服务器分别位于意大利和法国。
法国服务器运行 Ubuntu 服务器是副本集的主服务器,工作正常,即它接受来自 mongo shell 的本地或远程连接,并由 python 客户端持续更新。
意大利的第二台服务器在 CentOS 上独立运行良好,但在作为副本集的一部分启动时卡在 STARTUP 状态。日志表明它从主服务器接收到配置。
我尝试了几种方法来解决这个问题,但都没有奏效:
- 尝试在副本集成员之间使用(或不使用)密钥文件。
- 使用 nmap 检查防火墙两侧是否打开
- 添加 iptables 规则以断言 mongodb 端口接受输入/输出流量。
- 检查 mongod 是否已启动并监听双方的所有 IP。
- 在使用 --replSet 重新启动之前,在辅助服务器上配置(或不)相同的管理员用户。此步骤只能在辅助节点独立时执行,因为作为副本集的成员启动,它处于瞬态,因此它不接受用户创建。因此,登录到辅助服务器失败。
另外两个成员(法国:primary 和意大利:secondary)都以 --auth、--replSet rs0、--keyFile 开头。
我之前在网上研究过这个问题,在这里找到了最接近的答案: MonogoDB Replica Set Status Not changing from Startup to Secondary
但是作者提到辅助没有收到配置,这使得问题与这个不同。
感谢您的帮助。
【问题讨论】:
-
我遇到了几乎相同的问题。你解决过这个问题吗?
标签: mongodb replication