Немного фона: я использовал Bitnami, чтобы развернуть кластер Mongo 3 узла на Azure (1 арбитр), каждый монгод размещался на отдельных виртуальных машинах. Я подтвердил, что набор реплик существует и что каждый узел может подключаться друг к другу. Я подтвердил, что когда я удаляю свой основной узел, вторичный узел поднимается вверх. Когда первичный узел возвращается, он снова принимает основное положение.Набор реплик PyMongo MongoClient не будет подключаться
Моя проблема заключается в том, что я не могу подключиться к моей реплике MongoDB с использованием MongoClient при указании replicaset. Я получаю эту ошибку:
pymongo.errors.ServerSelectionTimeoutError: ArbiterIP:27017: [WinError 10061] No connection could be made because the target machine actively refused it,PrimaryIP:27017: [WinError 10061] No connection could be made because the target machine actively refused it,SecondaryIP:27017: timed out
Использование MongoClient, если я:
connection = MongoClient('MyIP1:27017', w=2)
, он соединяется отлично. Когда я делаю
connection = MongoClient('MyIP1:27017', w=2, replicaset="repsetname")
, вот когда я получу ошибку.
Будет ли это связано с тем фактом, что узел-арбитр не имеет информации о пользователе для аутентификации?
В сообщении об ошибке, то IP-адрес, перечисленном в хосте IP-адрес, указанный в db.isMaster(). В моем коде на Python мой «MyIP» - это IP-адрес виртуальной машины, на которой размещен основной узел. Когда я пытаюсь использовать IP-адрес хоста для подключения, я получаю тайм-аут. –