在同一台机器上添加辅助副本集?

Den*_*Hiu 5 mongodb

我是 mongodb 的新手,所以这种复制对我来说有点困惑。我按照这里的教程进行操作。我在我的机器上设置了 2 个 mongod 实例:

localhost:27018
localhost:27019
Run Code Online (Sandbox Code Playgroud)

用这个命令:

mongod --dbpath /home/db2 --port 27019 --replSet "rs1"
mongod --dbpath /data/db1 --port 27018 --replSet "rs1"
Run Code Online (Sandbox Code Playgroud)

当我尝试使用这组命令连接并设置复制时

mongo --port 27019
rs1:PRIMARY> rs.add("localhost:27018")
Run Code Online (Sandbox Code Playgroud)

它总是说:

{
"ok" : 0,
"errmsg" : "Either all host names in a replica set configuration must
be localhost references, or none must be; found 1 out of 2",
"code" : 103
}
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

Pri*_*pta 3

user01@10gen.local如果您选择机器名称(在您的用户名之后可以在终端中找到,例如)而不是 localhost会更好,

像 rs1:PRIMARY> rs.add("10gen.local:27018")

最佳实践是始终使用逻辑名称来定义副本集。