“该节点不是使用 replSet 选项启动的”

2023-11-26

我正在学习MongoDB大学's M101P:面向开发人员的 MongoDB课程。

我在用连线虎 on MongoDB 3.2.

我目前的主题是副本集.

该课程要求我使用以下代码创建一个副本集:

mongod --replSet rs1 --logpath "1.log" --dbpath /data/rs1 --port 27017 --fork

但我用的是Windows,不支持fork,所以使用this要点(根据课程管理员的建议)在创建目录(运行 mongod )后,我在 3 个不同的控制台中同时运行了这些行:

mongod --replSet rs1 --logpath "1.log" --dbpath rs1 --port 27018 --smallfiles --oplogSize64  
mongod --replSet rs1 --logpath "2.log" --dbpath rs2 --port 27019 --smallfiles --oplogSize64  
mongod --replSet rs1 --logpath "3.log" --dbpath rs3 --port 27020 --smallfiles --oplogSize64

这一切似乎都运行良好;我可以看到目录已被填充,日志文件都显示“正在等待连接”以及相关端口号。

最后,我运行以下代码将服务器统一为副本集:

config = {_id: "rs1", members: [
           { _id: 0, host: "localhost:27018"},
           { _id: 1, host: "localhost:27019"},
           { _id: 2, host: "localhost:27020"}
                                ]
         }

rs.initiate(config)
rs.status()

这是抛出:

"errmsg" : "This node was not started with the replSet option",
"code" : 76

我无法理解,因为我已经清楚地使用了--replSet每个服务器的选项,并且确实提供了配置文件中使用的相同的 replSet 名称。

我已经查看了有关此主题的其他问题,但我可以找到很少的问题并为我解决这个问题。This其中一个说明从错误中看起来很明显:我的配置文件应该包括--replSet=rs1,但是从阅读文档我给人的印象是_id我定义的配置用于此目的:

_id
Type: string

副本集的名称。一旦设置,您将无法更改名称 副本集。

_id must与在命令行上指定给 mongod 的replication.replSetName 或 –replSet 值相同。

此外,在课程材料视频演示中清楚地显示了它的功能正确,与我尝试使用它的方式完全相同。

我已无计可施,非常感谢您的帮助。
Jake


因此,当我写完这个问题时,答案就像一个灯泡一样出现在我的脑海中,这似乎经常发生……但考虑到有些缺乏,我想我会把答案留给其他为此苦苦挣扎的人。论坛上有关此主题的问题/答案。

这是运行我的配置文件时使用默认端口的简单情况。
我正在使用mongo < init_replica.js运行我的配置并统一服务器以创建副本集。

只需添加其中一台有效服务器使用的端口,它就可以正确运行:

mongo --port 27020 < init_replica.js 

我对此感到悲哀,但我希望这可以帮助那些也在学习该课程但发现自己陷入类似困境的人。

Jake

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“该节点不是使用 replSet 选项启动的” 的相关文章

随机推荐

  • 编译 helloworld.cu 时遇到问题

    在 Ubuntu 10 10 中编译这个 hello world 示例时 这是来自CUDA 示例 第 3 章 未提供编译说明 gt include
  • Flutter:刷新网络图像

    我是颤振的初学者 我正在寻找一种简单的方法来刷新网络图像 在这样的基本代码中 让 flutter 再次获取并绘制该图像的最简单方法是什么 在我的代码中 图像是来自安全摄像头的快照 因此每次获取时都会发生变化 但始终具有相同的 url 每次启
  • 如何从 Startup.cs 中的 XML 文件中提取配置设置

    我有一个startup cs 文件 我想从XML 文件中提取配置而不是appsetings json文件 ASP NET Core MVC 可以吗 如果您想使用appsettings xml相反 你可以参考我的博客文章here 引用文章中的
  • C++中字符串前面的“L”是什么意思?

    this gt textBox1 gt Name L textBox1 虽然它似乎可以在没有L 前缀的目的是什么 它的使用方式对于铁杆 C 程序员来说甚至没有意义 It s a wchar t文字 用于扩展字符集 维基百科有关于这个主题的一
  • 在 Pandas 中查找多列中的字符串

    我正在尝试查找多个列中是否存在字符串 如果字符串存在 我想返回 1 如果它不作为数据帧中的新系列 则返回 0 在搜索论坛后 我了解到可以使用 str contains 但我正在搜索 100 多个列 因此一次处理单个系列对我来说效率不高 如果
  • C++ 诡异的构造函数 [重复]

    这个问题在这里已经有答案了 可能的重复 为什么使用空括号调用不带参数的构造函数会出错 让我们有这个代码 class Foo Foo int 然后我们得到结果 int main Foo f1 Foo 5 1 OK explicit call
  • ASP .NET MVC 在每个字段级别禁用客户端验证

    我正在使用带有数据注释和 jQuery 验证插件的 ASP NET MVC 3 有没有办法标记某个字段 或某个数据注释 只能在服务器端进行验证 我有一个带有屏蔽插件的电话号码字段 正则表达式验证器在用户端变得疯狂 正则表达式只是一个自动防故
  • 无法让Python从不同的文件夹导入

    我似乎无法让 Python 在子文件夹中导入模块 当我尝试从导入的模块创建该类的实例时出现错误 但导入本身成功 这是我的目录结构 Server server py Models user py 这是server py的内容 from sys
  • 如何使用套接字通过互联网发送数据?

    我想通过桌面应用程序通过互联网发送数据 我对套接字了解一点 我已经在局域网内传输数据 但现在我想通过互联网传输数据 传输大量和少量数据的最佳方式是什么 我的系统已连接到可以访问互联网的服务器 我的系统的 IP 地址是动态的 我不知道如何将数
  • 计算数据帧组内的差异

    假设我有一个包含 3 列的数据框 日期 股票行情 值 没有索引 至少在开始时是这样 我有很多日期和股票行情 但每个 ticker date 元组是唯一的 但显然 相同的日期将显示在许多行中 因为它会出现在多个代码中 并且相同的代码会出现在多
  • 是否存在使用数据库 1:1 关系有意义的时候?

    前几天我在思考规范化 我突然想到 我想不出数据库中应该存在 1 1 关系的时候 Name SSN 我会把它们放在同一张桌子上 PersonID AddressID 再说一遍 同一张桌子 我可以想出无数个 1 多或多 多 带有适当的中间表 的
  • Perl 正则表达式中的转义特殊字符

    我正在尝试匹配 Perl 中的正则表达式 我的代码如下所示 my source Hello version Goodbye version my pattern Hello version if source m pattern print
  • 如何在 Android Javadoc 中引用 XML 文件? [复制]

    这个问题在这里已经有答案了 有没有办法使用 JavaDoc 链接来引用 Android XML 文件res folder 就像是 link res values custom strings xml link com yourApp R l
  • 如何备份SQL Server代理作业?

    如何备份和恢复 SQL Server 2005 代理作业计划 msdb 数据库是所有作业所在的地方 它是系统数据库之一
  • add2virtualenv(virtualenv 包装器)不适用于 scipy

    我想创建一个没有全局 python 包的 virtualenv 但具有共享的 scipy 发行版 安装 scipy 需要相当长的时间 我不想太频繁地走过场 所以我跑add2virtualenv Library Python 2 7 site
  • 如何通过不可靠的网络同步媒体播放?

    我希望我可以在一台计算机上播放音乐或视频 并让第二台计算机同步播放相同的媒体 例如 我可以同时听到两台计算机的扬声器的声音 这听起来并不好笑 我想通过 Wi Fi 来完成此操作 但 Wi Fi 有点不可靠 从算法上来说 解决这个问题的最佳方
  • @Autowired 对象获取空值

    尝试建立一个项目 但通过 Spring 自动装配对象失败 package se hsr web public class TestRunner public static void main String args ContactDAO c
  • 使用 git 时 Mac/Windows 的文件权限问题

    我运行以下代码从 Windows git 存储库中提取文件 git pull Volumes sucho Desktop git setup 我按如下方式连接 Windows 目录 tell application Finder mount
  • 忽略 querySelectorAll 中的大小写敏感性

    我有这个代码 a href Click a a href Click a a href Click a a href Click a 现在 使用console log document querySelectorAll a href jav
  • “该节点不是使用 replSet 选项启动的”

    我正在学习MongoDB大学 s M101P 面向开发人员的 MongoDB课程 我在用连线虎 on MongoDB 3 2 我目前的主题是副本集 该课程要求我使用以下代码创建一个副本集 mongod replSet rs1 logpath