我正在关注this教程以部署副本集。当我执行rs.initiate()
时,我收到错误“所有成员和种子都必须可以启动设置”这很奇怪,因为唯一的成员是localhost。
答案 0 :(得分:1)
我有同样的错误。 在我的情况下帮助了我:
cfg=rs.conf()
rs.reconfig(cfg,{force:true})
答案 1 :(得分:0)
您无法仅使用一个成员启动副本集(您在何处复制数据?!)。本教程告诉您需要三个活动的mongod实例。
要求:三个不同的系统,以便每个系统都可以运行自己的mongod实例。
答案 2 :(得分:0)
出于测试目的,您可以在同一台物理计算机上设置给定副本集的三个成员(教程提到:“对于短暂测试和本指南的目的,您可以运行在GNU Screen的单独窗口中的mongod实例。“)你只需要在你的机器上的三个不同端口上运行三个不同的mongod实例。从您收到的错误中,似乎无法访问一个或另一个端口。如果您的端口已被其他应用程序使用,请检查它们。如果是这样,相应的mongod将首先无法成功启动。因此,rs.initiate()会失败。