1

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

我按照官方文档进行操作,但是在执行第 2 步时遇到此消息:

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

一些参考资料说我需要运行rs.initiate(),但是当 Mongo 服务器关闭时我怎么能这样做呢?

4

2 回答 2

3

休息一下,冷静地阅读文档 :) 他们不是说要关闭服务器,而是说要关闭您的实际 mongo istance(因为它是作为独立实例启动的),然后立即启动再次使用不同字符串的实例,他们在示例中给出:

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

其中 --dbpath 指向数据文件的路径。rs0 是副本集的名称,选择你的或者直接使用这个

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

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

  1. 以您通常的方式启动服务器(单实例)
  2. 使用类似的命令连接到实例:mongo --port 27017
  3. 查看您的数据库:show dbs
  4. 如果有一个名为 local 的数据库,请连接到它:use local
  5. 删除该数据库:db.dropDatabase()

然后您可以重复所有过程并尝试正确设置您的副本集。

于 2014-01-22T12:35:24.570 回答
0

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

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

于 2014-01-22T12:33:43.570 回答