mongodb - 连接到 MongoDB 中副本集的“主要”时出现问题
问题描述
我在命令行中创建了一个 MongoDB 副本集。它们在端口 47017、47018、47019 中运行。当我做一个
mongo --port 47017
它总是倾向于连接到副本集的“次要”成员
$ mongo --port 47017
connecting to: mongodb://127.0.0.1:47017/?compressors=disabled&gssapiServiceName=mongodb
MongoDB server version: 4.2.6
s1:SECONDARY>
为什么它总是连接到辅助服务器而不是主服务器?有没有应该启用的设置?
解决方案
您正在连接到单个节点。您需要通过在参数中传递副本集名称来指定要连接到副本集。例如
mongo "mongodb://127.0.0.1:47017,127.0.0.1:47018,127.0.0.0.1:47019/?replicaSet=replA"
这里的副本集名称是replA。严格来说,您不需要指定整个种子列表。只要您可以连接到任何成员并指定副本集名称,副本集就会自动将您路由到主节点。我们指定一个完整的种子列表,因为这允许客户端尝试所有成员,以防其中一个不可用。
有关完整说明,请参阅连接到副本集的文档。
推荐阅读
- linux-kernel - 写入 /proc 文件系统时忽略 O_TRUNC
- android - 为什么文件输入不适用于 PWA Wrapper
- javascript - 使用 Web Speech API 的 SpeechSynthesis 接口时改进发音
- r - 如何使用 R 中的 ifelse 函数使 lapply 遍历列表?
- karate - 空手道中的dryRun实施
- ios - % cpu、内存和网络使用android应用程序
- html - 在蓝色边框后创建填充
- java - 我无法设置将更新我的测试的变量的值
- python - 使用 nginx + WSGI 运行 Flask 应用程序时 Python 子进程出错
- c# - 在 C# 中使用 LINQ 方法语法 (LINQ to SQL) 时发生异常