Huo*_*Huo 11 mongodb mongodb-replica-set
我用ubuntu.
我启动三个mongod副本集如下:
$ mongod --replSet setname --logpath "1.log" --dbpath /data/rs1 --port 27017 --smallfiles --fork
$ mongod --replSet setname --logpath "2.log" --dbpath /data/rs2 --port 27018 --smallfiles --fork
$ mongod --replSet setname --logpath "3.log" --dbpath /data/rs3 --port 27019 --smallfiles --fork
Run Code Online (Sandbox Code Playgroud)
我该如何关闭它们?
Asy*_*sky 15
从Unix shell运行以下命令:
mongo --port 27017 --eval 'db.adminCommand("shutdown")'
mongo --port 27018 --eval 'db.adminCommand("shutdown")'
mongo --port 27019 --eval 'db.adminCommand("shutdown")'
Run Code Online (Sandbox Code Playgroud)
lai*_*e9m 13
我不认为接受的答案是正确的.一些google搜索后,我发现这在MongoDB的用户群是最好的答案.
要关闭:
- 在辅助节点上运行db.runCommand({replSetFreeze:numOfSeconds})以防止提升为主
节点 - 在主节点上运行rs.stepDown(秒); 它将检查以确保至少有一个辅助设备在降级之前已经充分赶上oplog.选择一个相当长的等待时间.
- 一切都是次要的,db.shutdownServer()就是一切要启动:
- 在两个辅助节点上运行replSetFreeze并使用很长的超时时间(比如1-2分钟)
- 启动主
节点 - 使用stepDown修复如果辅助节点以某种方式成为主节点
简单地关闭是不够的,您必须防止辅助节点升级到主节点.