MongoDB副本集初始化

时间:2018-04-03 15:08:47

标签: mongodb replicaset

我正在尝试创建一个包含两个副本和一个仲裁器的副本集。所有成员都使用以下方式启动:

mongod --port 25670 --dbpath /data --replSet rs0

数据目录是一个空目录。

在其中一个副本上我运行rs.initiate但是我收到了错误

replSetReconfig should only be run on PRIMARY, but my state is STARTUP2

我已经尝试过等待主要选举,但即使在两分钟后,我也没有看到选举已经发生的迹象。

如何强制副本集选择PRIMARY?或者有没有办法预测PRIMARY?

1 个答案:

答案 0 :(得分:0)

我发现始终如一的唯一解决方案如下:

  1. 关闭所有服务器。
  2. 启动第一台副本服务器。
  3. rs。仅使用第一台服务器启动副本集。
  4. 启动第二个副本。
  5. 将其添加到副本集。
  6. 最后启动并添加仲裁器。对于仲裁器,如果我在启动仲裁器实例之前执行addArb并不重要。