0

我在 EC2 上有 3 个实例,每个实例都具有弹性 IP,并且每个实例都运行 mongo 版本 3.2。所有都在类型名称的副本集中。mongod.conf 中的 bind_ip 设置配置了 IP 0.0.0.0。

我正在尝试通过 php 连接 mongo。我已经安装了扩展mongodblibrary

所有这些都在同一个端口上,主IP:52.67.34.1

我的连接:

$this->manager = new MongoDB\Driver\Manager(
            "mongodb://52.67.34.1,52.67.77.2,52.67.30.3/?replicaSet=homologation");

但是要进行查询或插入,则会出现以下错误:

致命错误:未捕获的异常“MongoDB \ Driver \ Exception \ ConnectionTimeoutException”,消息“未找到合适的服务器(serverselectiontryonce设置):[在'52.67.34.1:27017'上调用ismaster的连接错误] [在'52.67.77.2上调用ismaster的连接错误: 27017'] [在'52.67.30.3:27017'上调用ismaster的连接错误] [连接到'172.31.1.1:27017'失败:连接超时] [连接到'172.31.2.2:27017'失败:连接超时] [无法连接到“172.31.3.3:27017”:连接超时]

我该如何解决这个错误?连接到蒙戈?

4

1 回答 1

1

我在使用机器 IP 连接到 PHP 中的副本集时遇到问题,并使用机器主机解决了这个问题。

如果您的 DNS(公共或私有)中没有服务器主机,我建议在 /etc/hosts 文件中声明每个副本成员。

它对我有用,我希望它会有所帮助。

于 2016-09-28T13:17:44.660 回答