AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 405621
Accepted
Max
Max
Asked: 2012-07-07 23:38:04 +0800 CST2012-07-07 23:38:04 +0800 CST 2012-07-07 23:38:04 +0800 CST

mongodb 复制:没有选出主要的

  • 772

我有三台安装了 mongod 的服务器作为复制集运行。突然间,这两个次级变得不可用(mongod 进程死亡)——我想是因为它们太陈旧了。

问题是原来的 PRIMARY 现在是 SECONDARY,我的应用程序无法运行,因为它无法连接到 PRIMARY。

我的意思是,这对我有什么帮助?如果副本集无法进行故障转移?!我错过了什么吗?

此外,我问自己为什么 SECONDARIES 死了/为什么它们太陈旧了?我该怎么办?

仅供参考:我的数据库很大(磁盘上有 40GB)。

mongodb replica-set
  • 1 1 个回答
  • 11502 Views

1 个回答

  • Voted
  1. Best Answer
    Adam C
    2012-07-08T06:58:39+08:002012-07-08T06:58:39+08:00

    您的主节点现在不再是主节点的原因是因为您必须有足够的选票才能在副本集中形成多数票——在您的情况下,这意味着最少 2/3。由于您的特定故障似乎没有意义,而是想象一下,有问题的主要问题反而与 2 个辅助问题(例如网络事件)隔离开来。在那种情况下,您不希望选出两个初选,因此它将下台,直到它可以看到其他集合成员。

    为了让主要恢复工作,你需要做两件事之一:

    1. 让其他组成员备份
    2. 重新配置集合,以便可以形成多数(添加更多成员,转到单个)

    有关重新配置选项的更多信息,请参见此处:

    http://www.mongodb.org/display/DOCS/Reconfiguring+a+replica+set+when+members+are+down

    基本上,您的副本集将进行故障转移,但您必须有足够的成员才能真正进行选举。

    至于次要文件为什么会死掉,根据你在这里提供的信息我不能说,但我可以告诉你,这不是因为它们太陈旧了。落后太多的次要节点将报告为陈旧但即使在该状态下也会继续运行(并投票给主要节点),直到您修复它并将其恢复为最新状态。请参阅此处了解如何修复陈旧的集合成员:

    http://www.mongodb.org/display/DOCS/Resyncing+a+Very+Stale+Replica+Set+Member

    • 4

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve