MongoDb playing ground: run as service, sharding.

本文详细介绍了MongoDB的安装步骤及配置方法,并提供了创建管理员用户的过程。此外,还深入探讨了MongoDB的分片机制,包括设置Shards、Config Server及Mongos路由进程等关键环节。
Db1:     172.28.14.250 (F)
Db2: 172.29.5.159 (E)

Don't ask why, but just follow below steps.
1) Firstly, we can't pass in dpPath.
>D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --install --logpath D:\MongoDb\log\dblog.txt --logappend
>D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --install --logpath E:\MongoDb\log\dblog.txt --logappend
>D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --install --logpath F:\MongoDb\log\dblog.txt --logappend

2) Then we run "RegEdit", set HKLM\SYSTEM\CurrentControlSet\services\MongoDB\ImagePath as below (add dbPath)
D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --dbpath D:\MongoDb\data\ --service --logpath D:\MongoDb\log\dblog.txt --logappend --oplogSize 2
D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --dbpath E:\MongoDb\data\ --service --logpath E:\MongoDb\log\dblog.txt --logappend --oplogSize 2
D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --dbpath F:\MongoDb\data\ --service --logpath F:\MongoDb\log\dblog.txt --logappend --oplogSize 2

3) Start service, and create admin user (sa/sa), because below:
Run the database (mongod process) with the --auth option to enable security. You must either
have added a user to the admin db before starting the server with --auth, or add the first user from the localhost interface.
>net start MongoDB
>D:\Tools\MongoDb\bin\mongo.exe
>use admin
>db.addUser("sa","sa")
>db.auth("sa","sa")

use EquityData
db.addUser("prod","prod")

4) Stop service, then run "RegEdit" to add --auth, and start service
>net stop MongoDB
D:\Tools\MongoDb\bin\mongod.exe --auth --directoryperdb --dbpath D:\MongoDb\data\ --service --logpath D:\MongoDb\log\dblog.txt --logappend --oplogSize 2
D:\Tools\MongoDb\bin\mongod.exe --auth --directoryperdb --dbpath E:\MongoDb\data\ --service --logpath E:\MongoDb\log\dblog.txt --logappend --oplogSize 2
D:\Tools\MongoDb\bin\mongod.exe --auth --directoryperdb --dbpath F:\MongoDb\data\ --service --logpath F:\MongoDb\log\dblog.txt --logappend --oplogSize 2
>net start MongoDB

5) Log on via command line
>D:\Tools\MongoDb\bin\mongo.exe
>conn = new Mongo("172.28.14.250");
or
>conn = new Mongo("172.29.5.159");
>db = conn.getDB("admin");
>db.auth("sa","sa");




?) Appendix
D:\Tools\MongoDb\bin\mongod.exe --service
D:\Tools\MongoDb\bin\mongod.exe --remove


***************
Sharding
---------------
1) 2 Shards:
2) Config Server:
3) Mongos Routing process
---------------
1) --shardsvr
for all servers, my local machine(172.28.19.85) and Db1(172.28.14.250)
mkdir D:\MongoDb\log D:\MongoDb\data
D:\Tools\MongoDb\bin\mongod.exe --directoryperdb --install --logpath D:\MongoDb\log\shardb.log --logappend  --port 10001 --shardsvr
Run->RegEdit
D:\Tools\MongoDb\bin\mongod.exe --directoryperdb  --service  --logpath  D:\MongoDb\log\shardb.log  --logappend  --port  10001  --shardsvr --dbpath D:\MongoDb\data\

net start MongoDB

2) --configsvr
mkdir D:\MongoDb\config
D:\Tools\MongoDb\bin\mongod.exe --configsvr --dbpath D:\MongoDb\config --port 20001 --logpath D:\MongoDb\config\configdb.log

3) mongos process, can't be run as service!!!
D:\Tools\MongoDb\bin\mongos.exe --configdb 172.28.19.85:20001 --logpath D:\MongoDb\config\mongos.log
better limit on chunkSize to make it easy to see change, default is 200(mb)
D:\Tools\MongoDb\bin\mongos.exe --configdb 172.28.19.85:20001 --logpath D:\MongoDb\config\mongos.log --chunkSize 1

4) connect to mongos server and create shards (no port set)
D:\Tools\MongoDb\bin\mongod.exe 172.28.19.85

use DiegoTest
db.Friends.ensureIndex({name:1})

use admin
db.runCommand( { addshard : "172.28.19.85:10001" } )
db.runCommand( { addshard : "172.28.14.250:10001" } )

db.runCommand( { enablesharding : "DiegoTest" } )
db.runCommand( { shardcollection: "DiegoTest.Friends", key: {name:1}})

db.printShardingStatus()

Then go ahead...

*******************
Introduction from MongoDb's official web site.
$ mkdir /data/db/a /data/db/b
$ ./mongod --shardsvr --dbpath /data/db/a --port 10000 > /tmp/sharda.log &
$ cat /tmp/sharda.log
$ ./mongod --shardsvr --dbpath /data/db/b --port 10001 > /tmp/shardb.log &
$ cat /tmp/shardb.log

mkdir \data\db\a \data\db\b
mkdir \data\db\a\log \data\db\b\log
D:\Tools\MongoDb\bin\mongod.exe --shardsvr --dbpath \data\db\a --port 10001 --logpath \data\db\a\log\shardb.log
D:\Tools\MongoDb\bin\mongod.exe --shardsvr --dbpath \data\db\b --port 10002 --logpath \data\db\b\log\shardb.log

$ mkdir /data/db/config
$ ./mongod --configsvr --dbpath /data/db/config --port 20000 > /tmp/configdb.log &
$ cat /tmp/configdb.log
$ ./mongos --configdb localhost:20000 > /tmp/mongos.log &
$ cat /tmp/mongos.log

mkdir \data\db\config
D:\Tools\MongoDb\bin\mongod.exe --configsvr --dbpath /data/db/config --port 20000 --logpath \data\db\config\configdb.log
D:\Tools\MongoDb\bin\mongos.exe --configdb localhost:20000 --logpath \data\db\config\mongos.log

*******************

转载于:https://www.cnblogs.com/imdiego/archive/2010/10/21/1857900.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值