我正在按照本教程部署副本集。当我执行rs.initiate()
时,我收到错误"所有成员和种子都必须可以访问才能启动 set",这很奇怪,因为唯一的成员是 localhost。
我遇到了同样的错误。就我而言,帮助了我:
cfg=rs.conf()
rs.reconfig(cfg,{force:true})
您不能仅使用一个成员启动副本集(在哪里复制数据?!本教程告诉您需要三个活动的 mongod 实例。
要求:三个不同的系统,以便每个系统都可以运行自己的mongod实例。
出于测试目的,您可以将给定副本的三个成员设置在同一台物理机器上(本教程提到:"对于临时测试和本指南的目的,您可以在 GNU Screen 的不同窗口中运行 mongod 实例。您只需要在计算机上的三个不同端口上运行三个不同的 mongod 实例。从您收到的错误来看,似乎一个或另一个端口无法访问。只需检查您的端口是否已被其他应用程序使用即可。如果是这样,相应的君主一开始就不会成功启动。因此,rs.initiate() 将失败。