Я пытаюсь настроить набор реплик с тремя узлами: узел A, B и C. Я выполняю rs.add()
из узла A и после этого rs.status()
показывает, что три узла являются ПЕРВИЧНЫМИ. Кроме того, узлы B и C имеют 0 pingM. Если я выполню rs.status()
из узла B или C в списке указан только сам (как ПЕРВИЧНЫЙ). Я попытался добавить арбитра, но это не сработало (он вел себя как узлы B и C). Я думаю, это может быть проблема с сетью, но я не могу этого понять.
Изменить: это результат для netstat -anp|grep 27017
:
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN -
tcp 0 0 10.0.1.211:55772 10.0.1.213:27017 TIME_WAIT -
tcp 0 0 127.0.0.1:50509 127.0.0.1:27017 ESTABLISHED -
tcp 0 0 127.0.0.1:27017 127.0.0.1:50509 ESTABLISHED -
tcp 0 0 10.0.1.211:55774 10.0.1.213:27017 TIME_WAIT -
tcp 0 0 10.0.1.211:55776 10.0.1.213:27017 ESTABLISHED -
tcp 0 0 10.0.1.211:39180 10.0.1.212:27017 ESTABLISHED -
tcp 0 0 10.0.1.211:39178 10.0.1.212:27017 TIME_WAIT -
tcp 0 0 10.0.1.211:39176 10.0.1.212:27017 TIME_WAIT -
unix 2 [ ACC ] STREAM LISTENING 3291267 - /tmp/mongodb-27017.sock
частные IP-адреса для узлов B и C - 10.0.1.212 и 10.0.1.213 соответственно (они, по-видимому, имеют установленное соединение с портом 27017 в соответствии с выводом netstat).
Похоже, процессу mongo на узле A на самом деле не удалось связаться с двумя другими узлами. На это указывают три большие стрелки:
На этом этапе я дважды удостоверился, что ...
/etc/mongodb.conf
быть уверенным)netstat -anp
должен показать порт LISTEN для процесса Mongo. Убедитесь, что порт именно тот, на который вы рассчитываете.