1) 启动副本集
三个shard,每个shard三个副本,三台机器(170/171/172),每台机器分别对应三个shard中的一个副本
#170
mongod --shardsvr --replSet shard-a --dbpath /mongo-data/rs-170-a --port 30000 --logpath /mongo-data/rs-170-a.log --fork --nojournal
mongod --shardsvr --replSet shard-b --dbpath /mongo-data/rs-170-b --port 30001 --logpath /mongo-data/rs-170-b.log --fork --nojournal
mongod --shardsvr --replSet shard-c --dbpath /mongo-data/rs-170-c --port 30002 --logpath /mongo-data/rs-170-c.log --fork --nojournal
#171
mongod --shardsvr --replSet shard-a --dbpath /mongo-data/rs-171-a --port 30000 --logpath /mongo-data/rs-171-a.log --fork --nojournal
mongod --shardsvr --replSet shard-b --dbpath /mongo-data/rs-171-b --port 30001 --logpath /mongo-data/rs-171-b.log --fork --nojournal
mongod --shardsvr --replSet shard-c --dbpath /mongo-data/rs-171-c --port 30002 --logpath /mongo-data/rs-171-c.log --fork --nojournal
#172
mongod --shardsvr --replSet shard-a --dbpath /mongo-data/rs-172-a --port 30000 --logpath /mongo-data/rs-172-a.log --fork --nojournal
mongod --shardsvr --replSet shard-b --dbpath /mongo-data/rs-172-b --port 30001 --logpath /mongo-data/rs-172-b.log --fork --nojournal
mongod --shardsvr --replSet shard-c --dbpath /mongo-data/rs-172-c --port 30002 --logpath /mongo-data/rs-172-c.log --fork --nojournal
#初始化三个shard的副本集
mongo --host 192.168.1.170 --port 30000
> rs.initiate()
> rs.add("192.168.1.170:30000")
> rs.add("192.168.1.171:30000")
> rs.add("192.168.1.172:30000")
mongo --host 192.168.1.170 --port 30001
> rs.initiate()
> rs.add("192.168.1.170:30001")
> rs.add("192.168.1.171:30001")
> rs.add("192.168.1.172:30001")
mongo --host 192.168.1.170 --port 30002
> rs.initiate()
> rs.add("192.168.1.170:30002")
> rs.add("192.168.1.171:30002")
> rs.add("192.168.1.172:30002")
2)config server(副本集为conf)
#170
mongod --configsvr --dbpath /mongo-data/config-master --port 27019 --logpath /mongo-data/config-master.log --fork --replSet conf
#171
mongod --configsvr --dbpath /mongo-data/config-master --port 27019 --logpath /mongo-data/config-master.log --fork --replSet conf
#172
mongod --configsvr --dbpath /mongo-data/config-master --port 27019 --logpath /mongo-data/config-master.log --fork --replSet conf
#在其总一个上执行,
rs.initiate()
rs.add("192.168.1.170:27019")
rs.add("192.168.1.171:27019")
rs.add("192.168.1.172:27019")
3)mongos(副本集为conf)
mongos --configdb conf/192.168.1.170:27019,192.168.1.171:27019,192.168.1.172:27019 --logpath /mongo-data/mongos.log --fork --port 40000
mongo连接到mongos
sh.addShard("shard-a/master.hadoop:30000,192.168.1.171:30000,192.168.1.172:30000")
sh.addShard("shard-b/master.hadoop:30001,192.168.1.171:30001,192.168.1.172:30001")
sh.addShard("shard-c/master.hadoop:30002,192.168.1.171:30002,192.168.1.172:30002")
4)激活sharding(通过mongos)
use admin
db.runCommand( { enableSharding: "db" } )
#创建sharding
db.runCommand({ shardCollection: "db.message", key: {_id: 1}, unique: true } )
配置MongoDB Sharding
最新推荐文章于 2024-08-02 16:30:00 发布