12

我使用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

我怎样才能关闭它们?

4

8 回答 8

16

从 Unix shell 运行以下命令:

mongo --port 27017 --eval 'db.adminCommand("shutdown")'
mongo --port 27018 --eval 'db.adminCommand("shutdown")'
mongo --port 27019 --eval 'db.adminCommand("shutdown")'
于 2013-03-04T08:07:15.590 回答
14

我不认为接受的答案是正确的。经过一番谷歌搜索,我在 mongodb-user 组中发现是最好的答案。

要关闭:
-db.runCommand({ replSetFreeze: numOfSeconds })在辅助节点上运行以防止升级到主节点
-rs.stepDown(seconds)在主节点上运行;在下台之前,它将检查以确保至少有一个辅助节点足够赶上 oplog。选择一个合理的长等待时间。
- 一旦一切都是次要的,db.shutdownServer()一切都

要启动:
-rs.freeze(seconds)在两个辅助节点上运行较长的超时时间(例如,1-2 分钟)
- 启动主
节点 - 使用 stepDown 修复以防辅助节点以某种方式变为主节点

仅仅关闭是不够的,您必须防止辅助节点升级为主节点。

于 2015-05-02T05:53:29.830 回答
3

1) 在辅助服务器上登录 mongo shell

2)使用以下命令停止辅助服务器:

use admin
db.shutdownServer()

2] 转到辅助服务器上的 Linux shell- 并键入以下命令:

sudo service mongod stop

欲了解更多信息,请查看以下链接:

http://www.tutespace.com/2016/03/stopping-and-starting-mongodb.html

于 2016-03-16T13:34:21.937 回答
2

使用ps -ef | grep mongod,获取端口号为 27017-27019 的 mongod 的 pid,并使用该 pid 终止进程。

于 2013-03-04T06:33:58.370 回答
0
mongod --port 27017 --shutdown 
mongod --port 27018 --shutdown
mongod --port 27019 --shutdown

顺便说一句,如果将来有可能使用分片,最好避免使用 27018 和 27019 端口。这些是分片集群某些组件的默认端口。

于 2013-03-07T07:43:28.997 回答
0

在 Windows 上的 MongoDB 3.2 中,我使用以下序列:

mongo mongodb://localhost:27019/admin --eval "db.shutdownServer({timeoutSecs: 10})"
mongo mongodb://localhost:27018/admin --eval "db.shutdownServer({timeoutSecs: 10})"
mongo mongodb://localhost:27017/admin --eval "db.shutdownServer({timeoutSecs: 10})"
于 2016-11-15T15:00:07.900 回答
0

首先关闭辅助服务器以防止回滚。

mongo admin --port <port> --eval "<db.auth if needed>;db.shutdownServer()"

来源:mongodb大学课程

于 2018-02-19T21:21:44.487 回答
0

这是一个老问题,但我仍然认为我应该回答这个问题。

在 unix shell 中运行以下命令

ps -ef | grep mongo

这将为您提供与端口27017和. 您可以使用 pid 杀死副本集的所有成员2701827019

于 2018-03-04T12:48:43.290 回答