我正在本地计算机上运行3个MongoDB实例,并且还尝试创建其副本集。
mongod.exe --port 2021 --dbpath C:\mongodb\data --replSet rs0
mongod.exe --port 2022 --dbpath D:\mongodb\data --replSet rs0
mongod.exe --port 2023 --dbpath E:\mongodb\data --replSet rs0
此后,我正在为2021端口运行mongo命令,例如
mongo.exe --port 2021
然后我正在使用这些命令,例如
rs.initiate()
rs.add("127.0.0.1:2022");
但是它没有为副本集添加这些实例,并向我返回错误
errmsg" : "exception: can't use localhost in repl set member names except when using it for all members",
我只想知道我是否可以在127.0.0.1上添加mongodb实例,而副本的端口不同。
我是mongodb的新手,并且一直致力于解决这些问题。
我以前曾发生过这种情况,并同意thelok的建议。在阅读完他链接的其他答案之后,请在立即执行rs.initiate()之后并尝试添加第二个成员之前检查rs。主要成员是如何指代的?是通过主机名,FQDN还是本地(127.0.0.1)以外的其他IP地址?
[在执行rs.add(:)时使用相同的名称。
这就是我的工作方式。
跟随本教程的学习,它真的很有帮助https://dev.to/damcosset/setting-up-a-replica-set-in-mongodb