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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值