我想将 MongoDB River 用于 ElasticSearch,但为此我需要将我的独立集转换为副本集。
我按照官方文档进行操作,但是在执行第 2 步时遇到此消息:
replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
一些参考资料说我需要运行rs.initiate()
,但是当 Mongo 服务器关闭时我怎么能这样做呢?
我想将 MongoDB River 用于 ElasticSearch,但为此我需要将我的独立集转换为副本集。
我按照官方文档进行操作,但是在执行第 2 步时遇到此消息:
replSet can't get local.system.replset config from self or any seed (EMPTYCONFIG)
一些参考资料说我需要运行rs.initiate()
,但是当 Mongo 服务器关闭时我怎么能这样做呢?
休息一下,冷静地阅读文档 :) 他们不是说要关闭服务器,而是说要关闭您的实际 mongo istance(因为它是作为独立实例启动的),然后立即启动再次使用不同字符串的实例,他们在示例中给出:
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0
其中 --dbpath 指向数据文件的路径。rs0 是副本集的名称,选择你的或者直接使用这个
然后你可以运行 rs.initiate()
但是:如果您已经尝试过,并且没有成功运行 rs.initiate(),则必须在重复所有过程之前做一些事情:
mongo --port 27017
show dbs
use local
db.dropDatabase()
然后您可以重复所有过程并尝试正确设置您的副本集。
它在接下来的两个步骤中清楚地说明了需要做什么。
使用mongo
控制台连接MongoDB服务器,然后运行rs.initiate()