我在本地计算机上运行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的新手并坚持解决这些问题。
答案 0 :(得分:0)
我之前已经发生这种情况并同意了洛克的建议。在您阅读了他链接到的其他答案后,请在执行rs.initiate()之后和尝试添加第二个成员之前检查您的rs。如何提及主要成员?它是由主机名,FQDN或本地(127.0.0.1)以外的其他IP地址吗?
执行rs.add(:)时使用相同的名称。
这对我有用。