2016-11-24 3 views
0

Я создал 3 набора реплик. После добавления членов в основной узел, оба вторичных узлы не могут подключиться к основному узлу с ошибкой в ​​логе-файл, как показано ниже:Вторая копия mongodb не может подключиться к основному набору

2016-11-23T21: 33: 48.024-0800 Я Repl [ReplicationExecutor] Ошибки в запросе сердцебиения до xxx: 27017; HostUnreachable: HostUnreachable

2016-11-23T21: 33: 48.024-0800 Я ASIO [NetworkInterfaceASIO-репликации-0] Подключение к ххх: 27017

2016-11-23T21: 33: 48.025-0800 Я ASIO [ NetworkInterfaceASIO-Replication-0] Не удалось подключиться к xxx: 27017 - HostUnreachable: HostUnreachable

2016-11-23T21: 33: 48.025-0800 I REPL [ReplicationExecutor] Ошибка запроса биения в xxx: 27017; HostUnreachable: HostUnreachable

2016-11-23T21: 33: 48.025-0800 Я ASIO [NetworkInterfaceASIO-Replication-0] Подключение к ххх: 27017

Я пытался несколько способ отладки, изменив настройки в mongod настройка файлов: В конфигурационном файле, я настроил:

  1. bind_ip = 127.0.0.1,132.239.xxx.xxx второго IP 132.239. . - это IP-адрес каждого сервера во внутренней сети

  2. keyFile =/share/mongo/secret Каждый набор реплик с использованием той же ключевой копии.

  3. mongo 132.239.xxx.xxx/test Эта команда выполнялась на каждом сервере, чтобы удостовериться, что они могут получить доступ к экземпляру mounod другого пользователя через Интернет.

  4. iptables -A INPUT -s 132.239. *. -j ACCEPT Системой сервера является ubuntu 16.04, поэтому я использую правило iptables, чтобы убедиться, что IP-адрес вторичного сервера не будет блокироваться на первичном узле для передачи данных.

Любая помощь будет действительно оценена. Версия MongoDB я использую: 3.2.9

Спасибо,

ответ

1

В вашем случае это кажется replicaset машина не может соединяться друг с другом, вы пытались телнет от начальной школы до использования вторичного телнета secondary_n 27017 и от второстепенных до первичного telnet primary 27017. Если вы смогли инициировать сеанс, тогда нет никакой проблемы с сетевой связью. Если вы не смогли инициировать сеанс telnet, вам нужно глубже заглянуть в свои iptables на всех других машинах.