MongoDB实战系列之六:mongodb的高可用集群设计实战(三)

2014-11-24 10:26:04 · 作者: · 浏览: 1
872,
"indexSizes" : {
"_id_" : 17954496,
"client_userid_1" : 17995376
},
"ok" : 1
},
"shard2" : {
"ns" : "elain.elain",
"count" : 792824,
"size" : 132338580,
"avgObjSize" : 166.9205019020615,
"storageSize" : 166760448,
"numExtents" : 12,
"nindexes" : 2,
"lastExtentSize" : 37588992,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 51312576,
"indexSizes" : {
"_id_" : 25738048,
"client_userid_1" : 25574528
},
"ok" : 1
}
},
"ok" : 1
}
分片后新写数据第三次:

mongos> db.elain.stats();
{
"sharded" : true,
"flags" : 1,
"ns" : "elain.elain",
"count" : 1376876,
"numExtents" : 23,
"size" : 225576604,
"storageSize" : 252874752,
"totalIndexSize" : 100826432,
"indexSizes" : {
"_id_" : 50249696,
"client_userid_1" : 50576736
},
"avgObjSize" : 163.83218532387812,
"nindexes" : 2,
"nchunks" : 10,
"shards" : {
"shard1" : {
"ns" : "elain.elain",
"count" : 494202,
"size" : 77551984,
"avgObjSize" : 156.92365469990003,
"storageSize" : 86114304,
"numExtents" : 11,
"nindexes" : 2,
"lastExtentSize" : 20881408,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 42057344,
"indexSizes" : {
"_id_" : 21600992,
"client_userid_1" : 20456352
},
"ok" : 1
},
"shard2" : {
"ns" : "elain.elain",
"count" : 882674,
"size" : 148024620,
"avgObjSize" : 167.70021548159343,
"storageSize" : 166760448,
"numExtents" : 12,
"nindexes" : 2,
"lastExtentSize" : 37588992,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 58769088,
"indexSizes" : {
"_id_" : 28648704,
"client_userid_1" : 30120384
},
"ok" : 1
}
},
"ok" : 1
}
分片后新写数据第四次(DOWN 掉md04的mongo服务)

mongos> db.elain.stats();
{
"sharded" : true,
"flags" : 1,
"ns" : "elain.elain",
"count" : 1686310,
"numExtents" : 26,
"size" : 275761376,
"storageSize" : 353116160,
"totalIndexSize" : 129033632,
"indexSizes" : {
"_id_" : 63265888,
"client_userid_1" : 65767744
},
"avgObjSize" : 163.52946729842083,
"nindexes" : 2,
"nchunks" : 10,
"shards" : {
"shard1" : {
"ns" : "elain.elain",
"count" : 740264,
"size" : 116213588,
"avgObjSize" : 156.98938216636228,
"storageSize" : 141246464,
"numExtents" : 13,
"nindexes" : 2,
"lastExtentSize" : 30072832,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 61810560,
"indexSizes" : {
"_id_" : 32556832,
"client_userid_1" : 29253728
},
"ok" : 1
},
"shard2" : {
"ns" : "elain.elain",
"count" : 946046,
"size" : 159547788,
"avgObjSize" : 168.64696642657967,
"storageSize" : 211869696,
"numExtents" : 13,
"nindexes" : 2,
"lastExtentSize" : 45109248,
"paddingFactor" : 1,
"flags" : 1,
"totalIndexSize" : 67223072,
"indexSizes" : {
"_id_" : 30709056,
"client_userid_1" : 36514016
},
"ok" : 1
}
},
"ok" : 1
}
总结:通过以上四次的写数据测试,我们可以看到分片是成功的,每次写数据,shard1、shard2都有数据写入,且,在下面的复制集中DOWN 掉任意一台,不影响整个架构的正常服务。

删除片操作

mongos> db.runCommand({"removeshard" : "10.0.0.11:27011"});
{
"msg" : "draining started successfully",
"state" : "started",
"shard" : "shard2",
"ok" : 1
}
再执行,可看到removeshard的挪动进度

mongos> db.runCommand({"removeshard" : "10.0.0.11:27011"});
{
"msg" : "draining ongoing",
"state" : "ongoing",
"remaining" : {
"chunks" : NumberLong(3),
"dbs" : NumberLong(0)
},
"ok" : 1
}
到此结束

转载请注明: 转载自http://www.elain.org