难以将独立转换为副本集

时间:2014-01-22 12:03:05

标签: mongodb replicaset

我想将MongoDB River用于ElasticSearch,但为此我需要将我的独立转换为副本集。

我跟着official documentation但是,在完成第2步时遇到了这条消息:

replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)

有些参考文献说我需要运行rs.initiate(),但是如何在Mongo服务器关闭时执行此操作?

2 个答案:

答案 0 :(得分:1)

休息一下,平静地阅读文档:)他们没有说只是关闭服务器,他们说要关闭你的实际mongo istance(因为那个是作为一个独立的实例启动),并且正确之后再次使用不同的字符串重新启动该实例,他们在示例中给出了该实例:

  

mongod --port 27017 --dbpath / srv / mongodb / db0 --replSet rs0

其中--dbpath指向数据文件的路径。 rs0是replicaset的名称,选择你的那个或只使用这个

然后你可以运行rs.initiate()

但是:如果你已经做了一些尝试,并且你没有成功运行rs.initiate(),你必须在重复所有过程之前做一些事情:

  1. 以通常的方式启动服务器(单个实例)
  2. 使用类似命令连接到实例:mongo --port 27017
  3. 查看您的数据库:show dbs
  4. 如果有一个名为local的db,请连接到它:use local
  5. 删除该数据库:db.dropDatabase()
  6. 然后您可以重复所有过程并尝试正确设置复制集。

答案 1 :(得分:0)

在接下来的两个步骤中清楚地说明需要做什么。

使用mongo控制台连接到MongoDB服务器,然后运行rs.initiate()