分片集群
-
启动配置服务
sudo mongod --port 27100 --dbpath=/data/shard/config --logpath=/data/shard/log/config.log --replSet=config1 --configsvr --logappend --fork
-
进入配置服务shell
mongo --port 27100
初始化集群
rs.initiate({_id:"config1", configsvr:true, members: [{_id:0,host:"127.0.0.1:27100"}]})
-
分别启动分片shard服务
sudo mongod --port 27020 --dbpath=/data/shard/s0 --logpath=/data/shard/log/s0.log --logappend --replSet=shardrs1 --shardsvr --fork sudo mongod --port 27021 --dbpath=/data/shard/s1 --logpath=/data/shard/log/s1.log --logappend --replSet=shardrs1 --shardsvr --fork sudo mongod --port 27022 --dbpath=/data/shard/s2 --logpath=/data/shard/log/s2.log --logappend --replSet=shardrs1 --shardsvr --fork sudo mongod --port 27023 --dbpath=/data/shard/s3 --logpath=/data/shard/log/s3.log --logappend --replSet=shardrs1 --shardsvr --fork
-
进入一台shard服务shell
mongo --port 27020
初始化集群
rs.initiate( { _id : "shardrs1", members: [ { _id : 0, host : "127.0.0.1:27020" }, { _id : 1, host : "127.0.0.1:27021" }, { _id : 2, host : "127.0.0.1:27022" }, { _id : 3, host : "127.0.0.1:27023" } ] } )
-
启动Mongos 分片集群服务
sudo mongos --port 40000 --configdb config1/127.0.0.1:27100 --fork --logpath=/data/shard/log/route.log
-
进入shell
mongo --port 40000
添加分片shard到集群
sh.addShard( "shardrs1/127.0.0.1:27020,127.0.0.1:27021,127.0.0.1:27022,127.0.0.1:27023")
选择使用的数据库database
sh.enableSharding("testshard")
添加分片集合
### sh.shardCollection("<database>.<collection>", { <shard key field> : "hashed" } ) ### sh.shardCollection("<database>.<collection>", { <shard key field> : 1, ... } ) sh.shardCollection("testshard.mycol", { name : 1 } )