在mongodb副本集中添加辅助实例时出错

Anu*_*ain 11 mongodb replicaset

我正在尝试部署mongodb副本集.我已经将我的mongodb实例作为副本的主要内容.现在我正在尝试添加另一个mongodb实例托管在不同的iP地址,作为副本的辅助,但我收到以下错误:

    rs0:PRIMARY> rs.add("<ip address>:27017")
{
    "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)

我做错了什么?

Fiz*_*han 8

当我试图在同一台机器上运行两个mongod实例时,我遇到了这个问题.当我提供喜欢时它会抛出错误

   rs.add("localhost:27027")
   (or)
   rs.add("127.0.0.1:27027")
Run Code Online (Sandbox Code Playgroud)

27027中学的端口号在哪里.

解:

传递主机名而不是ip地址

  rs.add("myhostname:27027")
Run Code Online (Sandbox Code Playgroud)


Kai*_*nad 1

新添加的副本集成员的 IP 地址是否解析为 localhost ?或者,您现有的成员是否解析为 localhost ?无论哪种方式,副本集都不允许混合本地主机/非本地主机配置。

\n\n

看一下源码位置

\n\n

另外,Mongo 分片指南是这样说的:

\n\n
\n

如果您使用 \xe2\x80\x9clocalhost\xe2\x80\x9d 或 127.0.0.1 作为任何主机标识符的主机名部分,例如作为 addShard 的主机参数或 --configdb 运行的值time 选项,那么您必须使用 \n \xe2\x80\x9clocalhost\xe2\x80\x9d 或 127.0.0.1 作为集群中任何 MongoDB 实例的所有主机设置。如果混合本地主机地址和远程主机地址,MongoDB 将出错。

\n
\n\n

这同样适用于副本集。

\n