mongodb — ошибка соединения php с набором реплик mongo

У меня есть 3 экземпляра на EC2, каждый с эластичным IP, и у каждого работает версия Монго 3.2. Все они находятся в реплике, заданной именем типа. Настройки bind_ip в mongod.conf настраиваются с IP 0.0.0.0.

Я пытаюсь подключить Монго через php. Я уже установил расширение MongoDB а также библиотека.

Все из которых находятся на том же порту, и основной 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 set): [ошибка соединения при вызове ismaster на ’52 .67.34.1: 27017 ‘] [ошибка соединения при вызове ismaster на ’52 .67.77.2: 27017’] [ошибка соединения при вызове ismaster на ’52 .67.30.3: 27017 ‘] [Не удалось подключиться к’ 172.31.1.1:27017 ‘: Превышено время ожидания соединения] [Не удалось подключиться к’ 172.31.2.2:27017 ‘: Превышено время ожидания соединения] [Не удалось подключиться к’ 172.31.3.3:27017 ‘: Превышено время ожидания соединения]

Как я могу исправить эту ошибку? Подключиться к Монго?

0

Решение

У меня были проблемы с подключением к реплике, установленной в PHP, с IP-адресами машины, и я решил эту проблему с помощью хостов машины.

Если у вас нет хостов вашего сервера в вашем DNS (публичном или частном), я бы предложил объявить каждого члена реплики в файле / etc / hosts.

Это сработало для меня, и я надеюсь, что это поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]