尝试复制mongodb时出现通信错误

尝试复制mongodb时出现通信错误,mongodb,azure,replication,database-replication,ubuntu-14.04,Mongodb,Azure,Replication,Database Replication,Ubuntu 14.04,我正在尝试复制我的mongodb数据库,我在我的WindowsAzure帐户上安装了2个虚拟机。 它们都是Ubuntu 14.04。 我已经在它们上面打开了27017端口,并安装了mongodb的最新版本。 我开始使用mongo mongod --port 27017 --dbpath /data/datadrive --replSet rs0 在两台计算机上,并通过使用 $conf = rs.conf() $conf.members[0].host = "mongo.cloudapp.net

我正在尝试复制我的mongodb数据库,我在我的WindowsAzure帐户上安装了2个虚拟机。 它们都是Ubuntu 14.04。 我已经在它们上面打开了27017端口,并安装了mongodb的最新版本。 我开始使用mongo

mongod --port 27017 --dbpath /data/datadrive --replSet rs0
在两台计算机上,并通过使用

$conf = rs.conf()
$conf.members[0].host = "mongo.cloudapp.net:27017"
rs.reconfig($conf)
rs.add(“内部IP地址:27017”)

我不断得到一个错误,我有两个初选,我在一个论坛上阅读 这是因为/etc/mongodb.conf中的bind_ip配置 因此,我将绑定ip更改为两个Vm上的其他Vm专用网络ip 在尝试添加服务器成员时,我遇到了以下错误

在“主要”方面:

在“次要”方面:


你知道我做错了什么吗?

你能调试以下东西吗-

  • Telnet将mongo端口从两台计算机(即主计算机和辅助计算机)相互连接。检查它是否工作正常

  • 我相信,在副本配置中,您正在使用rs.add(“reptester2”)添加辅助服务器。请检查/etc/hosts文件,主计算机和辅助计算机中都应存在ipaddress主机映射

  • 如果在主配置和辅助配置中都使用bind_ip。然后在主机(/etc/hosts)文件或rs.add(“ip地址”)中使用该ip地址。请不要使用像127.0.0.1这样的本地ip地址


  • 这是一个dns问题,因为成员[0]名称为Reptest1,辅助服务器解析地址ad reptest,而不是ip地址或dns地址。我已经编辑了成员主机地址。他们开始互相联系。 我是用电脑做的

    $conf = rs.conf()
    $conf.members[0].host = "mongo.cloudapp.net:27017"
    rs.reconfig($conf)
    

    嘿,在尝试远程发送mongo时,我得到了telnet:无法解析23.101.184.130:27017/telnet:名称或服务未知,并且主机文件在两个VM上都只有本地主机配置。我应该在bind_ip中使用什么?我试着把0.0.0.0放在那里,但我仍然遇到同样的问题,你提到过,你使用的是内部IP地址。您可以在两台计算机上使用内部ip地址进行telnet。如果仍然出现相同的错误,请确保彼此可以访问您的mongo端口。看起来您没有按照说明操作。试着按照下面的步骤来做。可能还有其他网络问题,但您描述的设置集合的方式也不正确。
    $conf = rs.conf()
    $conf.members[0].host = "mongo.cloudapp.net:27017"
    rs.reconfig($conf)