如何在同一主机上复制mongodb多个实例

时间:2015-02-27 12:46:49

标签: mongodb sharding

我在本地计算机上运行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的新手并坚持解决这些问题。

1 个答案:

答案 0 :(得分:0)

我之前已经发生这种情况并同意了洛克的建议。在您阅读了他链接到的其他答案后,请在执行rs.initiate()之后和尝试添加第二个成员之前检查您的rs。如何提及主要成员?它是由主机名,FQDN或本地(127.0.0.1)以外的其他IP地址吗?

执行rs.add(:)时使用相同的名称。

这对我有用。