首页 文章

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

提问于
浏览
9

我正在尝试部署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
}

我做错了什么?

2 回答

  • 5

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

    rs.add("localhost:27027")
       (or)
       rs.add("127.0.0.1:27027")
    

    其中 27027 是次要的端口号 .

    Solution:

    传递主机名而不是ip地址

    rs.add("myhostname:27027")
    
  • 0

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

    看一下这条消息的source code location .

    此外,Mongo guide on sharding说:

    如果使用“localhost”或127.0.0.1作为任何主机标识符的主机名部分,例如addShard的主机参数或--configdb运行时选项的值,则必须使用“localhost”或127.0 .0.1用于群集中任何MongoDB实例的所有主机设置 . 如果混合使用localhost地址和远程主机地址,MongoDB将会出错 .

    这同样适用于副本集 .

相关问题