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

推荐订阅源

J
Java Code Geeks
IT之家
IT之家
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
V
V2EX
N
Netflix TechBlog - Medium
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Blog of Author Tim Ferriss
量子位
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
月光博客
月光博客
F
Fortinet All Blogs

博客园 - 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

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