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. zookeeper基本使用

    (1)查看节点信息:ls / (2)查看单个节点的状态:stat /zookeeper (3)在Java中使用的zk客户端:zkClient,curator (4)curator是apache的开源的 ...

  2. 异常的jvm(java虚拟机)与异常处理try catch与throwable

  3. Laravel Vuejs 实战:开发知乎 (2)用户注册

    1.本节需要发送验证邮件 2.教程使用SendCloud发送邮件 [我使用的是mailtrap] 3. composer require laravel/ui 安装完成后 php artisan ui ...

  4. P1579

    AC: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < b ...

  5. mysql免安装版配置启动时出错

    今天安装了MySQL5.7的免安装版本,启动时报了服务无法启动的错误,在网上找了好久终于找到了解决方法 我找到解决方法的博客地址是:http://blog.csdn.net/qq_27093465/a ...

  6. VMware升级到15版本虚拟机黑屏的解决方法

    1.启动VMware15虚拟机,在菜单栏找到:虚拟机→管理→更改硬件兼容性 2.打开该项,弹出更改硬件兼容性向导对话框,点  下一步,接下来把硬件兼容性改为Workstation 12.x 3.根据提 ...

  7. 06-Docker-Image管理操作

    目录 06-Docker-Image管理操作 参考 镜像命名规范 镜像管理命令 1. 拉取推送 2. 查看操作 3. 本地删除 4. 创建标签 5. 导出导入 06-Docker-Image管理操作 ...

  8. 容器远程访问vnc--CentOS 6.8安装和配置VNC

    对于用惯了WIN系统的朋友来说,没有图形化操作界面的Linux用起来实在太难受了.实际上,Linux也是有图形化操作界面的,这就是VNC.接下来本文将告诉大家如何在CentOS 6.8下安装和配置 V ...

  9. ResultSet指针回到初始位置的方法及ResultSet介绍

    原文地址: https://blog.csdn.net/walkerjong/article/details/7023872 仅供学习参考使用. 结果集(ResultSet)是数据中查询结果返回的一种 ...

  10. Oracle常用SQL时间函数

    1.查询当前日期和时间 select sysdate from dual; 2.查询本月最后一天 select last_day(sysdate) from dual; 3.查询前后多少月 ) fro ...