各种情况下MongoDB的启动和关闭

一、mongod的启动和关闭 
1. 缺省的启动方式
   ./mongod  
   缺省的启动方式,数据存储目录里是/data/db,监听端口是27017
2. 带基本参数的启动方式
   ./mongod --port 51017 --dbpath /home/mongo/data --logpath /home/mongo/log/log.log --logappend --fork --journal 1000 
   
    基本参数
   -f                            指定配置文件 (参考: http://www.mongodb.org/display/DOCS/File+Based+Configuration)
   --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->副本集

你可能感兴趣的:(MongoDB)