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()就可以了

[root@zlfzy]# mongo --port 22221
> config={
... "_id":"shard4",
... "members":[
... {"_id":1,"host":"10.27.233.29:22221"},
... {"_id":2,"host":"10.27.233.29:22222"},
... {"_id":3,"host":"10.27.233.29:22223"}
... ]
... }
{
    "_id" : "shard4",
    "members" : [
        {
            "_id" : 1,
            "host" : "10.27.233.29:22221"
        },
        {
            "_id" : 2,
            "host" : "10.27.233.29:22222"
        },
        {
            "_id" : 3,
            "host" : "10.27.233.29:22223"
        }
    ]
}
> rs.initiate(config)
{ "ok" : 1 }
shard4:OTHER> rs.status()
shard4:OTHER> exit
bye

2.关闭
分别关闭每个mongod,关闭primary的时候如果所有secondary和primary的时间差都大于10s,则primary会
拒绝关闭,如果没有密集写操作可以db.shutdownServer({force : true}) 强制关闭。

四、分片(Shard)环境中的启动和关闭

1.启动
这个具体的参照分片的配置,启动的顺序是副本集->config server->mongos

2.关闭
因为mongos是分片架构最前端的入口,所以关闭顺序:mongos->config server->副本集

添加新评论