惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 聂微东
Jina AI
Jina AI
月光博客
月光博客
爱范儿
爱范儿
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
T
Tailwind CSS Blog
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
罗磊的独立博客
小众软件
小众软件
雷峰网
雷峰网
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog

博客园 - Diego

还是等吧 Notes for these past days: Python, Android, MongoDb, and WebLoad. One day configuring network in Ubuntu 10.4 - Diego Only if I can feel the heat from soccer- steady the first day. Finally, World Cup comes to be the evidence of my 2010. 2010 Fifa world cup time table. Performance issue, be cautious to use List.Contains... Interesting memo for i++ and ++i. Learn at least a half dozen programming languages. (extracted) System.IO.IOException: The semaphore timeout period has expired. - Diego Command to restart/shut down remotely. SVN authentication... Producing function in SQL. Tip 2: Code Review Tools... to be a team. Command to check Group Policy. Exception doesn't travel across threads... Resume to be along with the technical forums. How To Get Customer's Screen Pixel. Some notes when transferring from Web 1.1 to Web 2.0
MongoDb playing ground: run as service, sharding.
Diego · 2010-10-21 · via 博客园 - Diego

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

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