【问题标题】:Communication errors while trying to replicate mongodb尝试复制 mongodb 时出现通信错误
【发布时间】:2014-09-09 12:16:06
【问题描述】:

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

mongod --port 27017 --dbpath /data/datadrive --replSet rs0

在两台机器上,并使用

添加了另一个成员

rs.add("内部 IP 地址:27017")

我一直收到错误消息,说我有两个初选,我在其中一个论坛上阅读 这是因为 /etc/mongodb.conf 中的 bind_ip 配置而发生的 所以我将bind_ip更改为两个VM上的其他VM私有网络IP 在尝试添加服务器成员时出现以下错误。

在“主要”方面:

[rsMgr] not electing self, 100.79.138.73:27017 would veto with 'I don't think reptester1:27017 is electable'
[rsHealthPoll] replset info 100.79.138.73:27017 thinks that we are down
[rsHealthPoll] replset info 100.79.138.73:27017 thinks that we are down

在“次要”方面:

[rsHealthPoll] getaddrinfo("reptester1") failed: Name or service not known
[rsHealthPoll] couldn't connect to reptester1:27017: couldn't connect to server reptester1:27017 (0.0.0.0) failed, address resolved to 0.0.0.0
[rsHealthPoll] replset info reptester1:27017 just heartbeated us, but our heartbeat failed: , not changing state
[rsHealthPoll] getaddrinfo("reptester1") failed: Name or service not known

任何想法我做错了什么?

【问题讨论】:

  • 您似乎没有按照说明进行操作。尝试关注basic replica set setup tutorial。可能还有其他网络问题,但是你描述的设置方法也不对。

标签: mongodb azure replication database-replication ubuntu-14.04


【解决方案1】:

你能调试以下的东西吗 -

  1. Telnet mongo 端口从两台机器(即 Primary 和 Secondary)相互连接。检查它是否工作。

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

  3. 如果您在主配置和辅助配置中都使用 bind_ip。然后在您的主机 (/etc/hosts) 文件或 rs.add("IP 地址") 中使用该 IP 地址。请不要使用本地 IP 地址,例如 127.0.0.1。

【讨论】:

  • 嘿,在尝试远程登录 mongo 时,我得到了 telnet:无法解析 23.101.184.130:27017/telnet:名称或服务未知,并且主机文件在两个 VM 上都只有 localhost 配置。我应该在 bind_ip 中使用什么?我试图把 0.0.0.0 放在那里,我仍然得到同样的错误
  • 问题中,您提到过,您使用的是内部 IP 地址。您可以在两台机器上使用内部 IP 地址远程登录吗?如果仍然出现同样的错误,请确保您的 mongo 端口可以相互访问。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多