首页 > 代码库 > MongoDB整理笔记の管理Sharding
MongoDB整理笔记の管理Sharding
1、列出所有的Shard Server
> db.runCommand({ listshards: 1 }) --列出所有的Shard Server{"shards" : [{"_id" : "shard0000","host" : "localhost:20000"},{"_id" : "shard0001","host" : "localhost:20001"}],"ok" : 1}
2、查看Sharding信息
> printShardingStatus() --查看Sharding 信息--- Sharding Status ---sharding version: { "_id" : 1, "version" : 3 }shards:{ "_id" : "shard0000", "host" : "localhost:20000" }{ "_id" : "shard0001", "host" : "localhost:20001" }databases:{ "_id" : "admin", "partitioned" : false, "primary" : "config" }{ "_id" : "test", "partitioned" : true, "primary" : "shard0000" }test.users chunks:shard0000 1{ "_id" : { $minKey : 1 } } -->> { "_id" : { $maxKey : 1 } } on :shard0000 { "t" : 1000, "i" : 0 }>
3、判断是否是Sharding
> db.runCommand({ isdbgrid:1 }){ "isdbgrid" : 1, "hostname" : "localhost", "ok" : 1 }>
4、对现有的集合进行分片(实例)
刚才我们是对表test.users 进行分片了,下面我们将对库中现有的未分片的表test.users_2 进行分片处理。
表最初状态如下,可以看出他没有被分片过:
> db.users_2.stats(){"ns" : "test.users_2","sharded" : false,"primary" : "shard0000","ns" : "test.users_2","count" : 500000,"size" : 48000016,"avgObjSize" : 96.000032,"storageSize" : 61875968,"numExtents" : 11,"nindexes" : 1,"lastExtentSize" : 15001856,"paddingFactor" : 1,"flags" : 1,"totalIndexSize" : 20807680,"indexSizes" : {"_id_" : 20807680},"ok" : 1}
对其进行分片处理:
> use adminswitched to db admin> db.runCommand({ shardcollection: "test.users_2", key: { _id:1 }}){ "collectionsharded" : "test.users_2", "ok" : 1 }
再次查看分片后的表的状态,可以看到它已经被我们分片了
> use testswitched to db test> db.users_2.stats(){"sharded" : true,"ns" : "test.users_2","count" : 505462,……"shards" : {"shard0000" : {"ns" : "test.users_2",……"ok" : 1},"shard0001" : {"ns" : "test.users_2",……"ok" : 1}},"ok" : 1}>
MongoDB整理笔记の管理Sharding
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。