mongoDB分片集群常用指令
来源:互联网 发布:淘宝网1 编辑:程序博客网 时间:2024/06/02 02:13
1.帮助指令:sh.help(),查看有哪些指令及其含义和使用方法。
mongos> sh.help()sh.addShard( host ) server:port OR setname/server:portsh.enableSharding(dbname) enables sharding on the database dbnamesh.shardCollection(fullName,key,unique) shards the collectionsh.splitFind(fullName,find) splits the chunk that find is in at the mediansh.splitAt(fullName,middle) splits the chunk that middle is in at middlesh.moveChunk(fullName,find,to) move the chunk where 'find' is to 'to' (name of shard)sh.setBalancerState( <bool on or not> ) turns the balancer on or off true=on, false=offsh.getBalancerState() return true if enabledsh.isBalancerRunning() return true if the balancer has work in progress on any mongossh.disableBalancing(coll) disable balancing on one collectionsh.enableBalancing(coll) re-enable balancing on one collectionsh.addShardTag(shard,tag) adds the tag to the shardsh.removeShardTag(shard,tag) removes the tag from the shardsh.addTagRange(fullName,min,max,tag) tags the specified range of the given collectionsh.removeTagRange(fullName,min,max,tag) removes the tagged range of the given collectionsh.status() prints a general overview of the cluster
或者直接运行help查看系统指令:
mongos> helpdb.help() help on db methodsdb.mycoll.help() help on collection methodssh.help() sharding helpersrs.help() replica set helpershelp admin administrative helphelp connect connecting to a db helphelp keys key shortcutshelp misc misc things to knowhelp mr mapreduceshow dbs show database namesshow collections show collections in current databaseshow users show users in current databaseshow profile show most recent system.profile entries with time >= 1msshow logs show the accessible logger namesshow log [name] prints out the last segment of log in memory, 'global' is defaultuse <db_name> set current databasedb.foo.find() list objects in collection foodb.foo.find( { a : 1 } ) list objects in foo where a == 1it result of the last line evaluated; use to further iterateDBQuery.shellBatchSize = x set default number of items to display on shellexit quit the mongo shell
2.sh.status() :查看分片的状态信息:
mongos> sh.status()--- Sharding Status --- sharding version: { "_id" : 1, "minCompatibleVersion" : 5, "currentVersion" : 6, "clusterId" : ObjectId("55cd8969e940b6d9c82cd178")} shards: { "_id" : "shard0000", "host" : "219.219.220.180:27017" } { "_id" : "shard0001", "host" : "219.219.220.248:27017" } { "_id" : "shard0002", "host" : "219.219.220.131:27017" } balancer: Currently enabled: yes Currently running: no Failed balancer rounds in last 5 attempts: 0 Migration Results for the last 24 hours: No recent migrations databases: { "_id" : "admin", "partitioned" : false, "primary" : "config" } { "_id" : "xubo", "partitioned" : true, "primary" : "shard0002" } xubo.resume_meta_data shard key: { "_id" : "hashed" } chunks: shard0000 2 shard0001 2 shard0002 2 { "_id" : { "$minKey" : 1 } } -->> { "_id" : NumberLong("-6148914691236517204") } on : shard0002 Timestamp(3, 2) { "_id" : NumberLong("-6148914691236517204") } -->> { "_id" : NumberLong("-3074457345618258602") } on : shard0002 Timestamp(3, 3) { "_id" : NumberLong("-3074457345618258602") } -->> { "_id" : NumberLong(0) } on : shard0000 Timestamp(3, 4) { "_id" : NumberLong(0) } -->> { "_id" : NumberLong("3074457345618258602") } on : shard0000 Timestamp(3, 5) { "_id" : NumberLong("3074457345618258602") } -->> { "_id" : NumberLong("6148914691236517204") } on : shard0001 Timestamp(3, 6) { "_id" : NumberLong("6148914691236517204") } -->> { "_id" : { "$maxKey" : 1 } } on : shard0001 Timestamp(3, 7) { "_id" : "test", "partitioned" : false, "primary" : "shard0002" } { "_id" : "ustc", "partitioned" : false, "primary" : "shard0000" } { "_id" : "test2", "partitioned" : false, "primary" : "shard0001" } { "_id" : "test1", "partitioned" : false, "primary" : "shard0001" } { "_id" : "testdb", "partitioned" : false, "primary" : "shard0001" }显示有shard0000,shard0001,shard0002三个分片。admin,xubo等五个数据库,_id后面为数据库名;partitioned表示是否分区,true为是;primary表示数据库的主分区,所有的数据都会位于主分区上,MongoDB目前还不能主动将数据分发到不同的分片上,因为它不知道你希望如何分发数据(参考【1】,P236)。自己测试了插入333821557个文档,大小大概为58G,经查询所有数据都在主分区,其他分区基本没有数据。
3.db.stats(): 查看数据库信息,辅助分片数据库信息查询。
switched to db xubomongos> db.stats(){"raw" : {"ip_node1:27017" : {"db" : "xubo","collections" : 3,"objects" : 8,"avgObjSize" : 88,"dataSize" : 704,"storageSize" : 20480,"numExtents" : 3,"indexes" : 3,"indexSize" : 24528,"fileSize" : 67108864,"nsSizeMB" : 16,"extentFreeList" : {"num" : 0,"totalSize" : 0},"dataFileVersion" : {"major" : 4,"minor" : 22},"ok" : 1},"ip_node2:27017" : {"db" : "xubo","collections" : 3,"objects" : 8,"avgObjSize" : 88,"dataSize" : 704,"storageSize" : 20480,"numExtents" : 3,"indexes" : 3,"indexSize" : 24528,"fileSize" : 67108864,"nsSizeMB" : 16,"extentFreeList" : {"num" : 0,"totalSize" : 0},"dataFileVersion" : {"major" : 4,"minor" : 22},"ok" : 1},"ip_node3:27017" : {"db" : "xubo","collections" : 4,"objects" : 333821541,"avgObjSize" : 111.99999904140398,"dataSize" : 37388012272,"storageSize" : 43648786160,"numExtents" : 44,"indexes" : 4,"indexSize" : 10831008832,"fileSize" : 57887686656,"nsSizeMB" : 16,"extentFreeList" : {"num" : 0,"totalSize" : 0},"dataFileVersion" : {"major" : 4,"minor" : 22},"ok" : 1}},"objects" : 333821557,"avgObjSize" : 110.99999889761463,"dataSize" : 37388013680,"storageSize" : 43648827120,"numExtents" : 50,"indexes" : 10,"indexSize" : 10831057888,"fileSize" : 58021904384,"extentFreeList" : {"num" : 0,"totalSize" : 0},"ok" : 1}
ip_node1-3是具体的ip地址,这个因设置而不同。上面现实了xubo数据库三个不同分片上的信息,数据基本都在主分区。"objects" : 333821541,
4.数据库分区:
mongos> sh.enableSharding("testdb"){ "ok" : 1 }
通过sh.status()查看显示testdb已经分片:
{ "_id" : "testdb", "partitioned" : true, "primary" : "shard0001" }
5.对表建立索引db.table2.ensureIndex({"id":1})
mongos> db.table2.ensureIndex({"id":1}){"raw" : {"ip_node1:27017" : {"createdCollectionAutomatically" : true,"numIndexesBefore" : 1,"numIndexesAfter" : 2,"ok" : 1}},"ok" : 1}
6.对表建立分片:sh.shardCollection("testdb.table2",{"id":1})
mongos> sh.shardCollection("testdb.table2",{"id":1}){ "collectionsharded" : "testdb.table2", "ok" : 1 }
查看分片情况:
{ "_id" : "testdb", "partitioned" : true, "primary" : "shard0001" }testdb.table1shard key: { "id" : 1 }chunks:shard00001shard00011shard00021{ "id" : { "$minKey" : 1 } } -->> { "id" : 1 } on : shard0000 Timestamp(2, 0) { "id" : 1 } -->> { "id" : 9 } on : shard0002 Timestamp(3, 0) { "id" : 9 } -->> { "id" : { "$maxKey" : 1 } } on : shard0001 Timestamp(3, 1) testdb.table2shard key: { "id" : 1 }chunks:shard00011{ "id" : { "$minKey" : 1 } } -->> { "id" : { "$maxKey" : 1 } } on : shard0001 Timestamp(1, 0) testdb.usersshard key: { "username" : 1 }chunks:shard00001shard00011shard00021{ "username" : { "$minKey" : 1 } } -->> { "username" : 2 } on : shard0000 Timestamp(2, 0) { "username" : 2 } -->> { "username" : 10 } on : shard0002 Timestamp(3, 0) { "username" : 10 } -->> { "username" : { "$maxKey" : 1 } } on : shard0001 Timestamp(3, 1)
显示已经分片
7.查看某个表的状态信息:db.table2.stats()
mongos> db.table2.stats(){"sharded" : true,"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.","userFlags" : 1,"capped" : false,"ns" : "testdb.table2","count" : 111111,"numExtents" : 9,"size" : 12444432,"storageSize" : 22523904,"totalIndexSize" : 7064064,"indexSizes" : {"_id_" : 3638320,"id_1" : 3425744},"avgObjSize" : 112,"nindexes" : 2,"nchunks" : 3,"shards" : {"shard0000" : {"ns" : "testdb.table2","count" : 0,"size" : 0,"numExtents" : 1,"storageSize" : 8192,"lastExtentSize" : 8192,"paddingFactor" : 1,"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.","userFlags" : 1,"capped" : false,"nindexes" : 2,"totalIndexSize" : 16352,"indexSizes" : {"_id_" : 8176,"id_1" : 8176},"ok" : 1},"shard0001" : {"ns" : "testdb.table2","count" : 111070,"size" : 12439840,"avgObjSize" : 112,"numExtents" : 7,"storageSize" : 22507520,"lastExtentSize" : 11325440,"paddingFactor" : 1,"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.","userFlags" : 1,"capped" : false,"nindexes" : 2,"totalIndexSize" : 7031360,"indexSizes" : {"_id_" : 3621968,"id_1" : 3409392},"ok" : 1},"shard0002" : {"ns" : "testdb.table2","count" : 41,"size" : 4592,"avgObjSize" : 112,"numExtents" : 1,"storageSize" : 8192,"lastExtentSize" : 8192,"paddingFactor" : 1,"paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only.","userFlags" : 1,"capped" : false,"nindexes" : 2,"totalIndexSize" : 16352,"indexSizes" : {"_id_" : 8176,"id_1" : 8176},"ok" : 1}},"ok" : 1}
8.查看块大小:
mongos> use configswitched to db configmongos> db.settings.find(){ "_id" : "chunksize", "value" : 100 }
查看有哪些块:
mongos> use configswitched to db configmongos> db.chunks.find(){ "_id" : "xubo.resume_meta_data-_id_MinKey", "lastmod" : Timestamp(3, 2), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : { "$minKey" : 1 } }, "max" : { "_id" : NumberLong("-6148914691236517204") }, "shard" : "shard0002" }{ "_id" : "xubo.resume_meta_data-_id_-3074457345618258602", "lastmod" : Timestamp(3, 4), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : NumberLong("-3074457345618258602") }, "max" : { "_id" : NumberLong(0) }, "shard" : "shard0000" }{ "_id" : "xubo.resume_meta_data-_id_3074457345618258602", "lastmod" : Timestamp(3, 6), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : NumberLong("3074457345618258602") }, "max" : { "_id" : NumberLong("6148914691236517204") }, "shard" : "shard0001" }{ "_id" : "xubo.resume_meta_data-_id_-6148914691236517204", "lastmod" : Timestamp(3, 3), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : NumberLong("-6148914691236517204") }, "max" : { "_id" : NumberLong("-3074457345618258602") }, "shard" : "shard0002" }{ "_id" : "xubo.resume_meta_data-_id_0", "lastmod" : Timestamp(3, 5), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : NumberLong(0) }, "max" : { "_id" : NumberLong("3074457345618258602") }, "shard" : "shard0000" }{ "_id" : "xubo.resume_meta_data-_id_6148914691236517204", "lastmod" : Timestamp(3, 7), "lastmodEpoch" : ObjectId("55cd8aa4e940b6d9c82cd1bf"), "ns" : "xubo.resume_meta_data", "min" : { "_id" : NumberLong("6148914691236517204") }, "max" : { "_id" : { "$maxKey" : 1 } }, "shard" : "shard0001" }{ "_id" : "testdb.users-username_MinKey", "lastmod" : Timestamp(2, 0), "lastmodEpoch" : ObjectId("55d444f3a2c399eae2842423"), "ns" : "testdb.users", "min" : { "username" : { "$minKey" : 1 } }, "max" : { "username" : 2 }, "shard" : "shard0000" }{ "_id" : "testdb.users-username_2.0", "lastmod" : Timestamp(3, 0), "lastmodEpoch" : ObjectId("55d444f3a2c399eae2842423"), "ns" : "testdb.users", "min" : { "username" : 2 }, "max" : { "username" : 10 }, "shard" : "shard0002" }{ "_id" : "testdb.users-username_10.0", "lastmod" : Timestamp(3, 1), "lastmodEpoch" : ObjectId("55d444f3a2c399eae2842423"), "ns" : "testdb.users", "min" : { "username" : 10 }, "max" : { "username" : { "$maxKey" : 1 } }, "shard" : "shard0001" }{ "_id" : "testdb.table1-id_MinKey", "lastmod" : Timestamp(2, 0), "lastmodEpoch" : ObjectId("55d44875a2c399eae28424da"), "ns" : "testdb.table1", "min" : { "id" : { "$minKey" : 1 } }, "max" : { "id" : 1 }, "shard" : "shard0000" }
0 0
- mongoDB分片集群常用指令
- MongoDB分片>集群组件>分片
- Mongodb 集群分片部署
- MongoDB 分片集群
- 配置MongoDB集群分片
- 配置MongoDB集群分片
- mongodb分片集群设计方案
- 配置MongoDB集群分片
- MongoDB主从/集群/分片
- MongoDB分片集群实战
- MongoDB集群之分片
- mongodb(5)-分片集群
- MongoDB 分片集群搭建
- mongodb集群搭建-分片
- mongodb 集群及分片
- MongoDB分片集群部署
- MongoDB分片集群配置
- MongoDB集群之分片
- CCF 201312-1出现次数最多的数
- HDU 2689 Sort it(树状数组求逆序数)
- js 判断文件是否存在
- Perforce初体验
- 纯CSS分页代码
- mongoDB分片集群常用指令
- Android 问题之找不到资源解决办法
- HDU 1071 The area(数学 抛物线 积分)
- 13. CSS 链接
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- Objective-C中不同方式实现锁(二)
- 在基于MFC的对话框里使用glut库函数
- 工作总结 8.9-18
- 通过运算符重载实现复数运算