【问题标题】:Can't initiate replica set in Ubuntu无法在 Ubuntu 中启动副本集
【发布时间】:2015-03-03 22:45:41
【问题描述】:

每当我输入:rs.initiate(),我都会收到以下错误消息:

{
    "info2" : "no configuration explicitly specified -- making one",
    "me" : "VMHOSTNAME:27017",
    "ok" : 0,
    "errmsg" : "No host described in new configuration 1 for replica set rs0 maps to this node",
    "code" : 93
}

我正在使用最新的 MongoDB 在 google-cloud-engine 下运行。

关于如何解决这个问题的任何建议?

【问题讨论】:

  • 您是否尝试过明确地进行副本集配置?听起来自动配置过程无法找到映射到节点的主机名,这是一些网络问题的症状。

标签: mongodb ubuntu google-cloud-platform mongodb-replica-set


【解决方案1】:

您可以尝试将参数传递给.initiate() 命令。

像这样:

rs.initiate({_id:"yourReplSetName", members: [{"_id":1, "host":"yourHost:yourPort"}]})

这对我有用。

【讨论】:

  • 谢谢。 MongoDB 官方文档很烂。
【解决方案2】:

您的 VMHOSTNAME 必须是 /etc/hosts 文件中 127.0.0.1 的别名才能正常工作。

请看这里https://jira.mongodb.org/browse/SERVER-16157

【讨论】:

【解决方案3】:

问题可能出在您的 mongo 配置中。查找以下行并将其注释掉:

#bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

【讨论】:

  • 这是(亚马逊)AWS EC2 实例上最简单的修复方法!
【解决方案4】:

是的,完全正确,或者您可以将您的主机名更改为 /etc/hosts 中已经指向 127.0.0.1 的名称,例如 localhost。

在 Mac 上,您可以通过键入 sudo scutil –-set HostName localhost 来执行此操作。

【讨论】:

    【解决方案5】:

    如果您在 /etc/hostnames 文件中找到 VMHOSTNAME 并且引用的 mongo 实例正在运行,则可能是端口号错误。在我的情况下,它是。分片通常从 27018 端口开始。

    【讨论】:

      猜你喜欢
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 2019-01-02
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多