1、准备工作
C:\Documents and Settings\Administrator>d:
D:\>cd D:\mongodb-win32-i386-2.0.2
D:\mongodb-win32-i386-2.0.2>mkdir data
D:\mongodb-win32-i386-2.0.2>cd data
D:\mongodb-win32-i386-2.0.2\data>mkdir config
D:\mongodb-win32-i386-2.0.2\data>mkdir log
D:\>cd D:\mongodb-win32-i386-2.0.2
D:\mongodb-win32-i386-2.0.2>mkdir data
D:\mongodb-win32-i386-2.0.2>cd data
D:\mongodb-win32-i386-2.0.2\data>mkdir config
D:\mongodb-win32-i386-2.0.2\data>mkdir log
D:\mongodb-win32-i386-2.0.2\data>mkdir shard1_1
D:\mongodb-win32-i386-2.0.2\data>mkdir shard2_1
D:\mongodb-win32-i386-2.0.2\data>mkdir shard2_1
D:\mongodb-win32-i386-2.0.2\data>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 E88D-35CB
D:\mongodb-win32-i386-2.0.2\data 的目录
2012-02-23 12:47 <DIR> .
2012-02-23 12:47 <DIR> ..
2012-02-23 12:47 <DIR> config
2012-02-23 12:47 <DIR> log
0 个文件 0 字节
4 个目录 226,136,317,952 可用字节
驱动器 D 中的卷是 新加卷
卷的序列号是 E88D-35CB
D:\mongodb-win32-i386-2.0.2\data 的目录
2012-02-23 12:47 <DIR> .
2012-02-23 12:47 <DIR> ..
2012-02-23 12:47 <DIR> config
2012-02-23 12:47 <DIR> log
0 个文件 0 字节
4 个目录 226,136,317,952 可用字节
创建Shards
D:\mongodb-win32-i386-2.0.2\bin>
mongod --install
--serviceName MongoDBServer
--serviceDisplayName MongoDBServer
--shardsvr --replSet shard1 --port 27017 --dbpath "D:\mongodb-win32-i386-2.0.2\data\shard1_1" --oplogSize 100 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\shard1_1.log" --logappend --profile=1 --slowms=5 --rest
/data/
> rs.initiate(config);
参考资料:
mongod --install --serviceName MongoDBServer2 --serviceDisplayName MongoDBServer2 --shardsvr --replSet shard2 --port 27018 --dbpath "D:\mongodb-win32-i386-2.0.2\data\shard2_1" --oplogSize 100 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\shard2_1.log" --logappend --profile=1 --slowms=5 --rest
2、mongo连接27017配置shard1
> config = {_id: "shard1", members: [
{_id: 0, host: "192.168.1.41:27017"},
{_id: 0, host: "192.168.1.41:27017"},
{_id: 1, host: "192.168.1.19:27017"},
{_id: 2, host: "192.168.1.40:27017"}]
}
mongo连接27017配置shard2
> config = {_id: "shard2", members: [
{_id: 0, host: "192.168.1.41:27018"},
{_id: 0, host: "192.168.1.41:27018"},
{_id: 1, host: "192.168.1.19:27018"},
{_id: 2, host: "192.168.1.40:27018"}]
}
注:配置修改后(rs.reconfig()),需重新启动服务才能生效,config的修改需从Primary中修改。
{
"_id" : "shard1",
"version" : 1,
"members" : [
{
"_id" : 0,
"host" : "192.168.1.41:27017",priority :1,slavedelay :5
},
{
"_id" : 1,
"host" : "192.168.1.19:27017",priority :0,slavedelay :5
}
]
}
"_id" : "shard1",
"version" : 1,
"members" : [
{
"_id" : 0,
"host" : "192.168.1.41:27017",priority :1,slavedelay :5
},
{
"_id" : 1,
"host" : "192.168.1.19:27017",priority :0,slavedelay :5
}
]
}
> rs.initiate(config);
3、配置config services
mongod
--install
--serviceName MongoDBConfigServer
--serviceDisplayName MongoDBConfigServer --configsvr --dbpath "D:\mongodb-win32-i386-2.0.2\data\config" --port 20000 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\config.log" --logappend
4、配置mongs
下载Windows Server 2003 Resource Kit Tools
命令行运行:
D:\mongodb-win32-i386-2.0.2\bin>"C:\Program Files\Windows Resource Kits\Tools\in
stsrv.exe" mongos "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
The service was successfuly added!
Make sure that you go into the Control Panel and use
the Services applet to change the Account Name and
Password that this newly installed service will use
for its Security Context.
stsrv.exe" mongos "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
The service was successfuly added!
Make sure that you go into the Control Panel and use
the Services applet to change the Account Name and
Password that this newly installed service will use
for its Security Context.
mongos --configdb 192.168.1.19:20000,192.168.1.41:20000,192.168.1.40:20000 --port 30000 --chunkSize 5 --logpath "D:\mongodb-win32-i386-2.0.2\data\log\mongos.log" --logappend
--configdb 192.168.1.19:20000 --port 30000 --chunkSize 5 --logpath 'D:\mongodb-win32-i386-2.0.2\data\log\mongos.log' --logappend
sc create MongoDBMongosServer binpath= "D:\mongodb-win32-i386-2.0.2\bin\mongos.exe" displayname= "MongoDBMongosServer" depend= Tcpip start= auto
5、连接mongs
mongo 127.0.0.1:30000/admin
6、加入
单台
单台
>db.runCommand( {addshard:"127.0.0.1:27017",name:"shard1",maxsize:20480]" })
多台
>db.runCommand( {addshard:"shard1/192.168.1.19:27017,192.168.1.41:27017,192.168.1.40:27017",name:"shard1",maxsize:20480} )
db.runCommand( {addshard:"shard2/192.168.1.19:27018,192.168.1.41:27018,192.168.1.40:27018",name:"shard2",maxsize:20480} )
删除分片
db.runCommand( { removeshard : "shard_liyan2/127.0.0.1:16002,127.0.0.1:16004"} );
注:在增加分片服务器时,需要重启mongos服务
7、查看
db.runCommand( { listshards : 1 } )
db.runCommand( { listshards : 1 } )
8、数据库分片
db.runCommand( { enablesharding : "TestDB"} )
9、Collecton分片
db.runCommand( { shardcollection : "
TestDB
.UserInfo", key : {UserId : 1} } )
10、测试
for (var i = 1; i <= 200000; i++) db.UserInfo.save({UserId:i, value1:"FengYi1234567890", value2:"1234567890",value3:"1234567890"})
db.UserInfo.find({UserId:1})
参考资料: