MongoDB 无法访问集合"<新副本集名称>的主数据库



我正在尝试重命名MondoDB副本集,如MongoDB文档中所述:

/* Set `newId` to the new replica set name */
var newId = 'idcom'
var doc = db.getSiblingDB("local").system.replset.findOne()
var oldId = doc._id
doc._id = newId
db.getSiblingDB("local").system.replset.save(doc)
db.getSiblingDB("local").system.replset.remove({_id: oldId})

然而,它不起作用,我无法恢复到以前的配置。如果我试图在Ubuntu机器上重复mongod.service的指令(从不同的端口开始,等等(,由于以下错误,它不会启动:

mongod[20493]: Unrecognized option: processManagement.replication.replSetName 
systemd[1]: mongod.service: Main process exited, code=exited, status=2/INVALIDARGUMENT 
systemd[1]: mongod.service: Failed with result 'exit-code'.

如果我尝试通过mongod命令启动MongoDBmongod--dbpath/opt/mongodb/--port27017-replSet-idcom服务器启动,但我无法访问mongodb终端,日志不断抛出以下内容:

NETWORK  [ReplicaSetMonitor-TaskExecutor] Unable to reach primary for set idcomm

关于如何恢复到以前的配置,请提供任何帮助?以前,SECONDARY是用replSetName:;comm0">

Thx!

我建议从头开始部署复制集。

  1. 停止所有实例
  2. 在维护模式下重新启动一个实例,如中所述在其他端口上将辅助设备作为独立设备重新启动
  3. 连接到此实例并删除local数据库:db.getSiblingDB('local').drop()
  4. 在所有其他节点上,从dbpath中删除所有文件(也许您可以跳过此操作,因为初始同步无论如何都会删除所有数据(
  5. 以正常模式重新启动实例,并按照deploy a Replica Set(部署副本集(中给出的方式部署副本集,即rs.initiate(), rs.add(), etc.

相关内容

  • 没有找到相关文章

最新更新