MongoDB Shardingの構成
3099 ワード
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 } )