一些背景知识:我使用 Bitnami 在 Azure(1 个仲裁器)上启动了一个 3 节点的 Mongo 集群,每个 mongod 托管在单独的 VM 上。我已经确认副本集存在,并且每个节点都能够相互连接。我已经确认当我关闭我的主节点时,辅助节点会启动。当主节点返回时,它再次占据主位置。
我的问题是在指定副本集时我无法使用 MongoClient 连接到我的 MongoDB 副本集。我会收到这个错误:
pymongo.errors.ServerSelectionTimeoutError: ArbiterIP:27017: [WinError 10061] 由于目标机器主动拒绝,无法连接,PrimaryIP:27017: [WinError 10061] 由于目标机器主动拒绝,无法连接,SecondaryIP: 27017:超时
使用 MongoClient,如果我这样做:
connection = MongoClient('MyIP1:27017', w=2)
,它连接良好。当我做
connection = MongoClient('MyIP1:27017', w=2, replicaset="repsetname")
,那是我得到错误的时候。
是否与仲裁节点没有用于身份验证的用户信息有关?