mongodb 复制和分片

mongodb 复制和分片

机器:10.1.1.8

副本集shard1,有3个instances。IP是10.1.1.8,端口是26016,26026,26036,其中26036是仲裁节点
副本集shard2,有3个instances。IP是10.1.1.8,端口是26017,26027,26037,其中26037是仲裁节点

分片是在副本集shared1和shared2上进行。

配置服务器:有1个instance。IP是10.1.1.8,端口是26018
路由服务器:有1个instance。IP是10.1.1.8,端口是26019

启动shard1副本集:
./mongod --shardsvr --replSet shard1 --port 26016 --dbpath /data/26016/data --logpath /data/26016/log/26016.log --logappend --fork
./mongod --shardsvr --replSet shard1 --port 26026 --dbpath /data/26026/data --logpath /data/26026/log/26026.log --logappend --fork
./mongod --shardsvr --replSet shard1 --port 26026 --dbpath /data/26026/data --logpath /data/26026/log/26026.log --logappend --fork

初始化副本集shard1:
./mongo --port 26016 --host 10.1.1.8 admin
cfg = { _id: "shard1", members:[ { _id:0,host:"10.1.1.8:26016"}, { _id:1, host:"10.1.1.8:26026"} ]}
rs.initiate(cfg)
rs.addArb("10.1.1.8:26036");

启动shard2副本集:
./mongod --shardsvr --replSet shard1 --port 26017 --dbpath /data/26017/data --logpath /data/26017/log/26017.log --logappend --fork
./mongod --shardsvr --replSet shard1 --port 26027 --dbpath /data/26027/data --logpath /data/26027/log/26027.log --logappend --fork
./mongod --shardsvr --replSet shard1 --port 26027 --dbpath /data/26027/data --logpath /data/26027/log/26027.log --logappend --fork

初始化副本集shard2:
./mongo --port 26017 --host 10.1.1.8 admin
cfg = { _id: "shard2", members:[ { _id:0,host:"10.1.1.8:26017"}, { _id:1, host:"10.1.1.8:26027"} ]}
rs.initiate(cfg)
rs.addArb("10.1.1.8:26037");

启动配置服务器:
./mongod --configsvr --dbpath /data/26018/data --port 26018 --logpath /data/26018/log/26018.log --logappend --fork
./mongod --configsvr --dbpath /data/26028/data --port 26028 --logpath /data/26028/log/26028.log --logappend --fork
./mongod --configsvr --dbpath /data/26038/data --port 26038 --logpath /data/26038/log/26038.log --logappend --fork

启动路由服务器:
./mongos --configdb 10.1.1.8:26018,10.1.1.8:26028,10.1.1.8:26038 --port 26019 --logpath /data/26019/log/26019.log --logappend --fork
./mongos --configdb 10.1.1.8:26018,10.1.1.8:26028,10.1.1.8:26038 --port 26029 --logpath /data/26029/log/26029.log --logappend --fork
./mongos --configdb 10.1.1.8:26018,10.1.1.8:26028,10.1.1.8:26038 --port 26039 --logpath /data/26039/log/26039.log --logappend --fork

配置shared 集群
./mongo --port 26019 --host 10.1.1.8 admin
use admin
db.runCommand({addshard:"shard1/10.1.1.8:26016,10.1.1.8:26026,10.1.1.8:26036"})
db.runCommand({addshard:"shard2/10.1.1.8:26017,10.1.1.8:26027,10.1.1.8:26037"})

db.runCommand({enablesharding:"test"})
db.runCommand({shardcollection:"test.person",key:{name:1}})

测试数据:

use test 
for(var i=0;i<10000;i++){ 
 db.person.insert({"name":"jack"+i,"age":i})

for(var i=0;i<10000;i++){ 
 db.person.insert({"name":"tom"+i,"age":i})
}

db.printShardingStatus()
mongos> db.printShardingStatus()
--- Sharding Status ---
  sharding version: {
 "_id" : 1,
 "version" : 4,
 "minCompatibleVersion" : 4,
 "currentVersion" : 5,
 "clusterId" : ObjectId("552a1234143ff7338546e841")
}
  shards:
 {  "_id" : "shard1",  "host" : "shard1/10.1.1.8:26016,10.1.1.8:26026" }
 {  "_id" : "shard2",  "host" : "shard2/10.1.1.8:26017,10.1.1.8:26027" }
  databases:
 {  "_id" : "admin",  "partitioned" : false,  "primary" : "config" }
 {  "_id" : "test",  "partitioned" : true,  "primary" : "shard1" }
  test.person
   shard key: { "name" : 1 }
   chunks:
    shard2 1
    shard1 2
   { "name" : { "$minKey" : 1 } } --&gt> { "name" : "jack0" } on : shard2 Timestamp(2, 0)
   { "name" : "jack0" } --&gt> { "name" : "tom99" } on : shard1 Timestamp(2, 2)
   { "name" : "tom99" } --&gt> { "name" : { "$maxKey" : 1 } } on : shard1 Timestamp(2, 3)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25105315/viewspace-1570487/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25105315/viewspace-1570487/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值