MongoDB Shardingの構成


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 } )