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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
Vercel News
Vercel News
Last Week in AI
Last Week in AI
罗磊的独立博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
美团技术团队
U
Unit 42
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
J
Java Code Geeks
V
V2EX
量子位
腾讯CDC
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
L
LangChain Blog
C
Check Point 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

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