【问题标题】:How to make the primary in the replica set to become unavailable in order to hold an election?如何使副本集中的主节点不可用以举行选举?
【发布时间】:2015-04-08 11:07:54
【问题描述】:

我创建了一个包含三个成员的副本集。 现在我阅读了以下链接:Replica Set Elections 它仅以抽象的方式解释正在发生的事情。

所以他们说,当主节点不可用时,就会发生选举。 因此,我试图通过 ctrl+c 在包含 mongod 实例的终端中使主节点不可用,其他两个辅助节点正在相互发送心跳以进行连接,但我进入了每个终端:

Failed to connect to 127.0.1.1:27017, reason: errno:111 Connection refused

所以也许这不是使主要不可用的方法?

你能帮我吗,我找不到例子..

谢谢。

【问题讨论】:

  • 你的副本集配置正确吗? IP 地址 127.0.1.1 应该是 127.0.0.1。
  • 您的意思是在文件 mongodb.conf 中吗?我有 bind_ip = 127.0.0.1
  • 那么您一定是错误地输入了错误消息中给出的 IP 地址。你怎么知道其中一个次级没有变成初级?您是否将辅助节点的优先级更改为 0?辅助节点是实际节点还是仲裁者?
  • 我从其中一个辅助节点的终端复制粘贴错误,另一个辅助节点中出现相同的错误。我每 2 秒收到一次此错误 [ReplExecNetThread-0] 无法连接到 127.0.1.1:27017,原因:errno:111 连接被拒绝 [ReplicationExecutor] 对 nurith-Lenovo-Y50-70-Touch:27017 的心跳请求错误; Location18915 尝试连接到 nurith-Lenovo-Y50-70-Touch:27017 失败;无法连接到服务器 nurith-Lenovo-Y50-70-Touch:27017 (127.0.1.1),连接尝试失败。我没有改变优先级,它们都有优先级1,辅助节点是实际节点。
  • 您一定是配置错误,因为您的错误消息显示辅助服务器正在尝试连接到无效的 IP 地址。我有一个开发副本集,所有节点都在同一台机器上运行。我没有为任何节点指定 bind_ip,只指定端口。

标签: mongodb replication


【解决方案1】:

Mongo 提供的最简单的选项是,

rs.stepdown()

在主副本上使用此功能使其在指定时间段内不可用。这会导致其他成员重新选举新的主要成员。

http://docs.mongodb.org/manual/reference/method/rs.stepDown/

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,原来是 Ubuntu 在/etc/hosts 中将 FQDN 设置为 127.0.1.1

    mongod 监听127.0.1.1 或编辑/etc/hosts 以删除127.0.1.1 条目或将其更改为127.0.0.1.

    这解决了我的问题。

    【讨论】:

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