好的,我在 linux 服务器上设置了两个带有副本集的节点。
在使用 1.8.1.20 驱动程序的 c# 应用程序中,我有
client = new MongoClient("mongodb://54.244.162.21,54.234.244.182/rs0?connect=replicaset;replicaSet=rs0;slaveOk=true;readPreference=primaryPreferred");
- 当我将 mongo 连接到每个节点时,主节点和从节点的更新和查找语句都可以正常工作。
-当我尝试关闭任何主节点或辅助节点时,我得到:无法连接到与读取首选项主节点匹配的副本集的成员
- 当两个节点都启动时,我没有收到任何错误,一切正常。
- 我试图将 readPreference 更改为每个可能的值,因为我想看看冗余是如何工作的。
我是不是搞错了什么。我假设您应该能够连接到任何一个,并且至少可以读取工作。以下代码是我在首次建立连接时明显发生异常的代码。
server = client.GetServer();
foreach (string db in server.GetDatabaseNames())
{
Debug.WriteLine(db);
}