一、mongod的启动和关闭
1. 缺省的启动方式
./mongod
缺省的启动方式,数据存储目录里是/data/db,监听端口是27017
2. 带基本参数的启动方式
./mongod --port 51017 --dbpath /home/mongo/data --logpath /home/mongo/log/log.log --logappend --fork --journal 1000
基本参数:
--port 指定端口,默认是27017
--dbpath 数据目录路径
--logpath 日志文件路径
--logappend 日志append而不是overwrite
--fork 以创建子进程的方式运行
--journal 日志提交间隔,默认100ms
--nojournal 关闭日志功能,2.0版本以上是默认开启的
3. 带安全参数的启动方式
./mongod ---keyFile /home/mongodb/key/keyfile --nohttpinterface --bind_ip localhost,svr1 --nounixsocket
安全参数:
--auth 开启安全验证
--keyfile 副本集和分片环境下开启安全机制
--noauth 关闭安全验证
--nohttpinterface 关闭http页面接口,缺省的会在监听+1000的端口上开一个http端口(控制home页)
--rest 开启restful http interface,默认是关闭的(控制restful查询接口)
--bind_ip 指定监听的ip
--nounixsocket 关闭unix socket 监听
4. 一个启动参数配置的例子(副本集)
./mongod --port 51017
--dbpath /home/mongodb/data
--oplogSize 100
--logpath /home/mongodb/log/log.log
--logappend
--nohttpinterface
--bind_ip localhost,svr1
--keyFile /home/mongodb/key/keyfile
--fork
5.关闭
> use admin
> db.shutdownServer()
> db.shutdownServer({force : true}) 强制关闭Mongod,应对副本集中主从时间差超过10s时不允许关闭主库的情况
不要使用kill直接杀mongo进程的方式关闭数据节点,会造成数据损坏
二、mongos的启动和关闭
1.启动(基本和mongod相同)
示例:mongos
--configdb svr1:43000,svr2:43000,svr3:43000
--port 42000
--chunkSize 5
--logpath /home/mongodb/log/mongos.log
--logappend
--nohttpinterface
--keyFile /home/mongodb/key/keyfile
--fork
2.关闭
因为mongos是无状态的节点,直接kill掉Mongos进程jike
三、副本集(Replica Set)环境中的启动和关闭
1.启动
分别启动每个mongod加入到副本集,最后rs.initiate()就可以了
2.关闭
分别关闭每个mongod,关闭primary的时候如果所有secondary和primary的时间差都大于10s,则primary会
拒绝关闭,如果没有密集写操作可以db.shutdownServer({force : true}) 强制关闭。
四、分片(Shard)环境中的启动和关闭
1.启动
这个具体的参照分片的配置,启动的顺序是副本集->config server->mongos
2.关闭
因为mongos是分片架构最前端的入口,所以关闭顺序:mongos->config server->副本集