MongoDB 分片管理(一)检查集群状态
一、检查集群状态
1.1 使用sh.status()查看集群摘要信息
1、使用sh.status()可以查看分片信息、数据库信息、集合信息
sh.status()
如果数据块较多时,使用sh.status(true)
又是输出会很多,就不会截断,要使用如下查看
2、too many chunks to print, use verbose if you want to force print
可通过执行以下命令查看
printShardingStatus(db.getSisterDB("config"),1);
1.2 检查配置信息
永远不要直接连接到配置服务器,以防配置服务器被不小心修改或者删除。应先连接到mongos,
然后通过config数据库来查询相关信息,方法与查询其他数据库一样。
>use config
>show tables;

1、config.shards
shards集合跟踪记录集群内所有分片的信息。文档结构如下

分片的"_id"来自与副本集的名称,所以集群中的每个副本集名称都必须是唯一的。
更新副本集配置的时候(比如添加删除成员),host字段会自动更新
2、config.databases
databases集合跟踪记录集群中所有数据库的信息,不管数据库有没有分片

如果在数据库上执行enableSharding,此处的"partition"字段值是true。
primary是主数据库。数据库的所有集合均默认被创建在数据库的主分片上。
3、config.collections
collections集合跟踪记录所有分片的集合信息(非分片集合信息除外)

1)_id 集合的命名空间
2)key 片键。本例中由x和y组成的复合片键
3)unique 表明片键是一个唯一索引。该字段只有当值为true时才会出现。片键默认不是唯一的。
4、config.chunks
sh.status()大部分信息来自于config.chunks
chunks集合记录所有集合中所有块的信息。chunks集合中的一个典型文档结构如下

1)_id块的唯一标识符。通常由命名空间、片键和块的下边界值组成
2)ns 块所属的集合名称
3)min 块范围的最小值
4)max 快范围的最大值
5)shard 块所属分片
6)lastmod与lastmodEpoch字段用于记录块的版本
5、config.changelog
changelog集合用于跟踪记录集群的操作,因为该集合会记录所有的拆分和迁移操作。
1)拆分记录文档结构如下


2)当分片收到mongos发来的moveChunk命令时,它会
(1)检查命令的参数
(2)向配置服务器申请获得一个分布锁,一边进入迁移过程
(3)尝试连接到to分片
(4)数据复制,这是整个过程的“临界区”
(5)与to分片和配置服务器一起确认迁移是否成功
6、config.tags
该集合的创建是在为系统配置分片标签时发生的。每个标签都与一个块范围相关联

7、config.settings
该集合含有当前的均衡器设置和块大小的文档信息。
通过修改该集合,可以开启或者关闭均衡器,也可以修改块的大小。
注意:
应该总是连接到mongos修改该集合的值,而不是直接连接到配置服务器
2、对集合分片步骤
1)启动数据库分片
sh.enableSharding("test")
2)启动集合分片
对集合分片时要选择一个分片键(shard key)
如果集合已存在,那么分片键上必须有索引
db.users.ensureIndex({"username":1})
sh.shardCollection("test.users",{"username":1})
3、查看chunk信息
db.chunks.find(criteria,{"min":1,"max":1})
MongoDB 分片管理(一)检查集群状态的更多相关文章
- MongoDB 分片管理(三)服务器管理
MongoDB 分片管理(三)服务器管理
- MongoDB 分片管理(不定时更新)
背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...
- MongoDB 分片管理
在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分, ...
- MongoDB 分片管理(四)数据均衡 -- 特大快
1.1 特大快形成 如果用date字段作为片键,集合中date是一个日期字符串,如:year/month/day,也就是说,mongoDB一天创建一个块.因块内所有文档的片键一样,因此这些块是不可拆分 ...
- MongoDB 分片管理(四)数据均衡
通常来说,MongoDB会自动处理数据均衡. 1.1 集群分片的块的均衡 注意,均衡器只使用块的数量,而非数据大小,来作为衡量分片间是否均衡的指标. 1.2 均衡器 1.执行所有数据库管理操作前,都应 ...
- MongoDB 分片管理(二)查看网络连接
1.1 查看连接统计 connPoolStats,查看mongos与mongod之间的连接信息,并可得知服务器 上打开的所有连接 1.2 限制连接数量
- Mongodb 笔记07 分片、配置分片、选择片键、分片管理
分片 1. 分片(sharding)是指将数据拆分,将其分散存放在不同的机器上的过程.有时也用分区(partitioning)来表示这个概念.将数据分散到不同的机器上,不需要功能强大的大型计算机就可以 ...
- Mongodb分片集群技术+用户验证
随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,“分片”就用这个来解决这个问题. 从图中可以看到有四个组件:mongos.config server. ...
- MongoDB分片 在部署和维护管理 中常见事项的总结
分片(sharding)是MongoDB将大型集合分割到不同服务器(或者说集群)上所采用的方法,主要为应对高吞吐量与大数据量的应用场景提供了方法. 和既有的分库分表.分区方案相比,MongoDB的最大 ...
随机推荐
- 在做爬虫或者自动化测试时新打开一个新标签页,必须使用windows切换
在做爬虫或者自动化测试时,有时会打开一个新的标签页或者新的窗口,直接使用xpath定位元素会发现找不到元素,在firefox中定位了元素还是找不到, 经过多次发现,在眼睛视野内看到这个窗口是在最前面, ...
- PAT(A) 1144 The Missing Number(C)统计
题目链接:1144 The Missing Number (20 point(s)) Description Given N integers, you are supposed to find th ...
- Codeforces Round #576 (Div. 1) 简要题解 (CDEF)
1198 C Matching vs Independent Set 大意: 给定$3n$个点的无向图, 求构造$n$条边的匹配, 或$n$个点的独立集. 假设已经构造出$x$条边的匹配, 那么剩余$ ...
- 在论坛中出现的比较难的sql问题:17(字符分拆2)
原文:在论坛中出现的比较难的sql问题:17(字符分拆2) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来 ...
- jQueryUI的widget的Hello World
为了看懂jQuery-File-Upload里面的代码,所以学习到这里 //main.js //实践自定义jquery widget,风格1 (function($){ //$.widget('命名空 ...
- Asp.net Report动态生成
rdlc报表实质上是一个xml文件,如果要实现动态报表,就需要动态生成rdlc文件,实质上就是读写xml文件: protected XmlDocument GenerationAddReportCol ...
- 【转载】网站配置Https证书系列(一):腾讯云申请免费的SSL证书的流程步骤(即https安全连接使用的证书)
很多网站为了安全性考虑都会上https安全连接,此时就需要考虑使用SSL证书,其实在腾讯云这边提供有免费的SSL证书申请,登录腾讯云管理控制台后,进入SSL证书管理页面,里面有个申请免费证书.腾讯云申 ...
- 【js】字符串反转(倒序)的多种处理方式
今天发布一篇关于字符串反转的几种方式(一种问题的解决方案不是只有一种). 方式1: 这种方式比较简单,推荐使用 字符串转数组,反转数组,数组转字符串. split(""):根据空字 ...
- shell 数学运算
数学运算之 expr expr操作符对照表 比较大小,只能对整数进行比较,需要加空格,linux 保留关键字要转义 num1=30 num2=50 expr $num1 \> $num2 查看上 ...
- javascript_14-对象
什么是对象 生活中的对象,一个车.一个手机 对象具有特性和行为 面向对象和基于对象 面向对象:可以创建自定义的类型.很好的支持继承和多态.面向对象的语言有 c++ .Java. C# ... 面向对象 ...