gpt4 book ai didi

MongoDB replSet 需要永远启动

转载 作者:可可西里 更新时间:2023-11-01 10:05:17 25 4
gpt4 key购买 nike

我正在我的本地主机上设置一个副本集,只是为了练习使用必要的命令。我在家里和工作中都这样做。在家里,rs.initiate() 命令运行大约需要三秒钟,而 rs.status() 又需要大约两三分钟才能给我全部PRIMARYSECONDARY 状态。这是我所期望的。

但是当我在工作中这样做时,rs.initiate() 花了将近 7 分钟才在 mongo shell 中返回我的提示,然后又过了 10 分钟,状态才全部完成 PRIMARYSECONDARY。与此同时,我发起连接的那个是 SECONDARYPRIMARY,另外两个是 RECOVERING。他们只是坐在那里,RECOVERING,十分钟。

rs.initiate() 命令运行时,我连接到的 mongod(端口 10001)不断吐出关于“分配数据文件”的内容,然后“完成分配数据文件”,然后“分配新数据文件”,依此类推,直到获得大约一打这样的文件。另外两个一直坐在那里,“replSet 无法从自身或任何种子 (EMPTYCONFIG) 获取 local.system.replset 配置”。

当我检查 rs.status() 时,两个辅助节点继续接受和删除连接,并像第一步中的主节点一样分配数据文件。

那么它应该花这么长时间吗?而且,如果是这样,为什么我家里的机器可以在几秒钟内完成?唯一的区别是我在家里运行的是 32 位而不是 64 位。

最佳答案

您工作环境的磁盘上有多少可用磁盘空间? MongoDB 默认为其 oplog(“本地”数据库)分配 5% 的可用磁盘空间。根据您提供的信息,我的猜测是您工作机器上的可用磁盘空间比家用机器大得多。

如果您等到 rs.initiate() 完成(即您看到 PRIMARY)后再尝试启动其他节点,我想您会看到预期的结果。

关于MongoDB replSet 需要永远启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com