1.帮助指令:sh.help(),查看有哪些指令及其含义和使用方法。
mongos> sh.help()
 sh.addShard( host )                       server:port OR setname/server:port
 sh.enableSharding(dbname)                 enables sharding on the database dbname
 sh.shardCollection(fullName,key,unique)   shards the collection
 sh.splitFind(fullName,find)               splits the chunk that find is in at the median
 sh.splitAt(fullName,middle)               splits the chunk that middle is in at middle
 sh.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=off
 sh.getBalancerState()                     return true if enabled
 sh.isBalancerRunning()                    return true if the balancer has work in progress on any mongos
 sh.disableBalancing(db.coll)                 disable balancing on one collection
 sh.enableBalancing(db.coll)                  re-enable balancing on one collection
 sh.addShardTag(shard,tag)                 adds the tag to the shard
 sh.removeShardTag(shard,tag)              removes the tag from the shard
 sh.addTagRange(fullName,min,max,tag)      tags the specified range of the given collection
 sh.removeTagRange(fullName,min,max,tag)   removes the tagged range of the given collection
 sh.status()                               prints a general overview of the cluster
或者直接运行help查看系统指令:
mongos> help
 db.help()                    help on db methods
 db.mycoll.help()             help on collection methods
 sh.help()                    sharding helpers
 rs.help()                    replica set helpers
 help admin                   administrative help
 help connect                 connecting to a db help
 help keys                    key shortcuts
 help misc                    misc things to know
 help mr                      mapreduce
 show dbs                     show database names
 show collections             show collections in current database
 show users                   show users in current database
 show profile                 show most recent system.profile entries with time >= 1ms
 show logs                    show the accessible logger names
 show log [name]              prints out the last segment of log in memory, 'global' is default
 use <db_name>                set current database
 db.foo.find()                list objects in collection foo
 db.foo.find( { a : 1 } )     list objects in foo where a == 1
 it                           result of the last line evaluated; use to further iterate
 DBQuery.shellBatchSize = x   set default number of items to display on shell
 exit                         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 xubo
mongos> 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.table1
   shard key: { "id" : 1 }
   chunks:
    shard0000 1
    shard0001 1
    shard0002 1
   { "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.table2
   shard key: { "id" : 1 }
   chunks:
    shard0001 1
   { "id" : { "$minKey" : 1 } } -->> { "id" : { "$maxKey" : 1 } } on : shard0001 Timestamp(1, 0)
  testdb.users
   shard key: { "username" : 1 }
   chunks:
    shard0000 1
    shard0001 1
    shard0002 1
   { "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 config
switched to db config
mongos> db.settings.find()
{ "_id" : "chunksize", "value" : 100 }
查看有哪些块:
mongos> use config
switched to db config
mongos> 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", "lastm
————————————————
版权声明:本文为CSDN博主「KeepLearningBigData」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubo245/article/details/47782557

mongoDB 分片集群常用指令的更多相关文章

  1. MongoDB分片集群常用操作

    下架主节点: db.adminCommand({replSetStepDown : 1, force : true}) 删除节点: rs.remove("IP:PORT") 新增节 ...

  2. CentOS7+Docker+MangoDB下部署简单的MongoDB分片集群

    简单的在Docker上快速部署MongoDB分片集群 前言 文中使用的环境如下 OS:CentOS Linux release 7.5.1804 (Core) Docker:Docker versio ...

  3. MongoDB分片集群原理、搭建及测试详解

    随着技术的发展,目前数据库系统对于海量数据的存储和高效访问海量数据要求越来越高,MongoDB分片机制就是为了解决海量数据的存储和高效海量数据访问而生. MongoDB分片集群由mongos路由进程( ...

  4. mongodb分片集群

    第一章 1.mongodb 分片集群解释和目的 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 第二章 1. ...

  5. TiDB和MongoDB分片集群架构比较

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近阅读了TiDB源码的说明文档,跟MongoDB的分片集群做了下简单对比. 首先展示TiDB的整体架构 M ...

  6. 搭建MongoDB分片集群

    在部门服务器搭建MongoDB分片集群,记录整个操作过程,朋友们也可以参考. 计划如下: 用5台机器搭建,IP分别为:192.168.58.5.192.168.58.6.192.168.58.8.19 ...

  7. 网易云MongoDB分片集群(Sharding)服务已上线

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. MongoDB sharding cluster(分片集群)是MongoDB提供的数据在线水平扩展方案,包括 ...

  8. MongoDB 分片集群实战

    背景 在如今的互联网环境下,海量数据已随处可见并且还在不断增长,对于如何存储处理海量数据,比较常见的方法有两种: 垂直扩展:通过增加单台服务器的配置,例如使用更强悍的 CPU.更大的内存.更大容量的磁 ...

  9. Windows 搭建MongoDB分片集群(二)

    在本篇博客中我们主要讲描述分片集群的搭建过程.配置分片集群主要有两个步骤,第一启动所有需要的mongod和mongos进程.第二步就是启动一个mongos与集群通信.下面我们一步步来描述集群的搭建过程 ...

随机推荐

  1. java使用bitmap求两个数组的交集

    一般来说int代表一个数字,但是如果利用每一个位 ,则可以表示32个数字 ,在数据量极大的情况下可以显著的减轻内存的负担.我们就以int为例构造一个bitmap,并使用其来解决一个简单的问题:求两个数 ...

  2. 分布式一致性协议 --- Paxos

    问题 Paxos 到底解决什么样的问题,动机是什么 Paxos 流程是怎么样的? Paxos 算法的缺陷是什么 概述 Paxos 是分布式一致性算法,根据少数服从多数的原则多个节点确定某个数值.通过学 ...

  3. pip 换源

    pip 换源 pip国内的一些镜像   阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.ed ...

  4. http的长连接和短连接(史上最通俗!)

    1.以前的误解 很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接.但终究觉得对于长连接一直懵懵懂懂的,有种抓不到关键点的感觉. 今天 ...

  5. (一)tensorflow-gpu2.0学习笔记之开篇(cpu和gpu计算速度比较)

    摘要: 1.以动态图形式计算一个简单的加法 2.cpu和gpu计算力比较(包括如何指定cpu和gpu) 3.关于gpu版本的tensorflow安装问题,可以参考另一篇博文:https://www.c ...

  6. WCF全面解析之三 使用配置文件启动WCF服务

    知识:WCF地址.WCF绑定 Endpoint的配置 服务的三要素(ABC) A:Address 地址 有传输方式信息 B:Binding 怎么做(与地址的传输方式要匹配) C:Contract 做什 ...

  7. 【笔记6-支付及订单模块】从0开始 独立完成企业级Java电商网站开发(服务端)

    支付模块 实际开发工作中经常会遇见如下场景,一个支付模块,一个订单模块,有一定依赖,一个同事负责支付模块,另一个同事负责订单模块,但是开发支付模块的时候要依赖订单模块的相关类 ,方法,或者工具类,这些 ...

  8. 吴裕雄--天生自然TensorFlow2教程:反向传播算法

  9. C++ STL之映射map的使⽤

    写在最前面:本文摘录于柳神笔记: map 是键值对,⽐如⼀个⼈名对应⼀个学号,就可以定义⼀个字符串 string 类型的⼈名为“键”,学 号 int 类型为“值”,如 map<string, i ...

  10. 洛谷 P2925 [USACO08DEC]干草出售Hay For Sale

    嗯... 题目链接:https://www.luogu.org/problemnew/show/P2925 这是一道简单的01背包问题,但是按照正常的01背包来做会TLE一个点,所以要加一个特判(见代 ...