您好,欢迎访问一九零五行业门户网

MongoDB运行时添加分片复制集

基于quot;mongodb集群配置(sharding with replica set)quot;的集群,尝试在mongodb集群运行时动态添加分片复制集。
基于mongodb集群配置(sharding with replica set)的集群 (见  ),尝试在mongodb集群运行时动态添加分片复制集。
(1)启动复制集节点
分别执行如下3个批处理文件来启动3个mongod进程,,127.0.0.1:36000和127.0.0.1:36001以及127.0.0.1:36002.
批处理文件startshardd_0.bat:
cd d:/mongodb-win32-i386-1.8.0/bin
call mongod.exe --logpath d:/mongodb-win32-i386-1.8.0/logs/d/r0.log --logappend --dbpath d:/mongodb-win32-i386-1.8.0/data/d/r0 --port 36000 --shardsvr --replset setd --rest  --oplogsize 64
批处理文件startshardd_1.bat:
cd d:/mongodb-win32-i386-1.8.0/bin
call mongod.exe --logpath d:/mongodb-win32-i386-1.8.0/logs/d/r1.log --logappend --dbpath d:/mongodb-win32-i386-1.8.0/data/d/r1 --port 36001 --shardsvr --replset setd --rest  --oplogsize 64
批处理文件startshardd_2.bat:
cd d:/mongodb-win32-i386-1.8.0/bin
call mongod.exe --logpath d:/mongodb-win32-i386-1.8.0/logs/d/r2.log --logappend --dbpath d:/mongodb-win32-i386-1.8.0/data/d/r2 --port 36002 --shardsvr --replset setd --rest  --oplogsize 64
(2)配置复制集
d:/mongodb-win32-i386-1.8.0/cmd>cd d:/mongodb-win32-i386-1.8.0/bin
d:/mongodb-win32-i386-1.8.0/bin>call mongo.exe 127.0.0.1:36000/admin
mongodb shell version: 1.8.0
connecting to: 127.0.0.1:36000/admin
> cfg = { _id:'setd', members:[
{ _id:0, host:'127.0.0.1:36000' },
{ _id:1, host:'127.0.0.1:36001' },
{ _id:2, host:'127.0.0.1:36002' }...
]};
{
        _id : setd,
        members : [
                {
                        _id : 0,
                        host : 127.0.0.1:36000
                },
                {
                        _id : 1,
                        host : 127.0.0.1:36001
                },
                {
                        _id : 2,
                        host : 127.0.0.1:36002
                }
        ]
}
> rs.initiate(cfg)
{
        info : config now saved locally.  should come online in about a minute.,
        ok : 1
}
>
(3)添加到集群
cd d:/mongodb-win32-i386-1.8.0/bin
call mongo.exe 127.0.0.1:50000/admin
> db.runcommand({addshard:'setd/127.0.0.1:36000,127.0.0.1:36001,127.0.0.1:36002'})
{ shardadded : setd, ok : 1 }
(4)查看集群分片信息
> db.printshardingstatus()
--- sharding status ---
  sharding version: { _id : 1, version : 3 }
  shards:
      {
        _id : shardseta,
        host : seta/127.0.0.1:10000,127.0.0.1:10001,127.0.0.1:10002
}
      {
        _id : shardsetb,
        host : setb/127.0.0.1:20000,127.0.0.1:20001,127.0.0.1:20002
}
      {
        _id : shardsetc,
        host : setc/127.0.0.1:30000,127.0.0.1:30001,127.0.0.1:30002
}
      {
        _id : setd,
        host : setd/127.0.0.1:36000,127.0.0.1:36001,127.0.0.1:36002
}
  databases:
        { _id : admin, partitioned : false, primary : config }
        { _id : wlb, partitioned : true, primary : shardseta }
                wlb.wlb_orders chunks:
                                shardsetb       5
                                shardseta       4
                                shardsetc       5
                        { order_id : { $minkey : 1 } } -->> { order_id : numberlong(1) } on : shardsetb { t : 5000, i : 1 }
                        { order_id : numberlong(1) } -->> { order_id : numberlong(19943) } on : shardseta { t : 8000, i : 1 }
                        { order_id : numberlong(19943) } -->> { order_id : numberlong(37015) } on : shardsetc { t : 7000, i : 1 }
                        { order_id : numberlong(37015) } -->> { order_id : numberlong(54080) } on : shardsetb { t : 4000, i : 2 }
                        { order_id : numberlong(54080) } -->> { order_id : numberlong(71148) } on : shardsetb { t : 4000, i : 4 }
                        { order_id : numberlong(71148) } -->> { order_id : numberlong(88201) } on : shardseta { t : 5000, i : 2 }
                        { order_id : numberlong(88201) } -->> { order_id : numberlong(105259) } on : shardsetc { t : 6000, i : 2 }
                        { order_id : numberlong(105259) } -->> { order_id : numberlong(122284) } on : shardsetc { t : 6000, i : 4 }
                        { order_id : numberlong(122284) } -->> { order_id : numberlong(139303) } on : shardsetc { t : 6000, i : 6 }
                        { order_id : numberlong(139303) } -->> { order_id : numberlong(173354) } on : shardsetc { t : 6000, i : 8 }
                        { order_id : numberlong(173354) } -->> { order_id : numberlong(207403) } on : shardseta { t : 7000, i : 2 }
                        { order_id : numberlong(207403) } -->> { order_id : numberlong(241449) } on : shardseta { t : 7000, i : 4 }
                        { order_id : numberlong(241449) } -->> { order_id : numberlong(275497) } on : shardsetb { t : 8000, i : 2 }
                        { order_id : numberlong(275497) } -->> { order_id : { $maxkey : 1 } } on : shardsetb { t : 8000, i : 3 }
        { _id : adimin, partitioned : false, primary : shardseta }
至此,复制集setd就作为一个分片加入到集群中去了。
其它类似信息

推荐信息