MongoDB 分片管理(四)数据均衡
通常来说,MongoDB会自动处理数据均衡。
1.1 集群分片的块的均衡
注意,均衡器只使用块的数量,而非数据大小,来作为衡量分片间是否均衡的指标。
1.2 均衡器
1、执行所有数据库管理操作前,都应关闭均衡器
>sh.setBalancerState(flase)
均衡器关闭后,系统则不会在进入均衡状态。
到那时给命令不能立即终止正在进行中的均衡过程:迁移过程通常无法立即停止。
2、查看config.locks集合,一查看均衡器过程是否仍在进行中
>db.locks.find({"_id":"balancer"})["state"]
0表示关闭
3、均衡器会增加系统负载
目标分片必须查询源分片中的所有文档,将文档插入目标分片的块中,源分片最后必须删除这些文档。
在以下两种情况下,迁移会导致性能问题
(1)使用热点片键可保证定期迁移(因为所有的新块都是创建在热点上的)。系统必须有能力
处理源源不断写入到热点分片上的数据。
(2)向集群中添加新分片时,均衡器会试图为该分片写入数据,从而触发一些列的迁移过程。
4、可以在config.settings集合中为数据均衡指定一个时间窗口
如指定了均衡时间窗口,则应该对其进行严密监控,以确保mongos确实只在指定的时间内做均衡。
执行下列更新语句,均衡则只会在下午1点到4点间发生
>db.settings.update({"_id":"balancer"},
{"$set":{"activeWindow":{"start":"13:00","stop":"16:00"}}},
true
MongoDB 分片管理(四)数据均衡的更多相关文章
- MongoDB 分片管理(三)服务器管理
MongoDB 分片管理(三)服务器管理
- MongoDB 分片管理
在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分, ...
- MongoDB 分片管理(不定时更新)
背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...
- MongoDB 分片管理(四)数据均衡 -- 特大快
1.1 特大快形成 如果用date字段作为片键,集合中date是一个日期字符串,如:year/month/day,也就是说,mongoDB一天创建一个块.因块内所有文档的片键一样,因此这些块是不可拆分 ...
- MongoDB 分片管理(一)检查集群状态
一.检查集群状态 1.1 使用sh.status()查看集群摘要信息 1.使用sh.status()可以查看分片信息.数据库信息.集合信息 sh.status() 如果数据块较多时,使用sh.stat ...
- MongoDB 分片管理(二)查看网络连接
1.1 查看连接统计 connPoolStats,查看mongos与mongod之间的连接信息,并可得知服务器 上打开的所有连接 1.2 限制连接数量
- 008.MongoDB分片群集概念及原理
一 MongoDB分片介绍 1.1 分片 Mongodb另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足 ...
- MongoDB分片介绍
本文简单介绍MongoDB的分片功能,对分片进行了概述,具体的功能详解,后续文章会陆续推出 分片是把数据分配到多个服务器上的一种方式,MongoDB使用分片实现大数据部署以及高吞吐操作. 大数据以及高 ...
- MongoDB分片 在部署和维护管理 中常见事项的总结
分片(sharding)是MongoDB将大型集合分割到不同服务器(或者说集群)上所采用的方法,主要为应对高吞吐量与大数据量的应用场景提供了方法. 和既有的分库分表.分区方案相比,MongoDB的最大 ...
随机推荐
- python使用ORM之如何调用多对多关系
在models.py中,我创建了两张表,他们分别是作者表和书籍表,且之间的关系是多对多. # 书 class Book(models.Model): id = models.AutoField(pri ...
- Model 的使用
1. 设计数据结构 问题表Question:作用存放问题 id 主键 自增 question_text 题目 varchar120 created 创建时间 datetime 选项表Choice: ...
- Linux 基础 目录介绍
/bin 存放二进制可执行文件(ls cat clear)等等 ,常用基础命令在这个目录下 /etc 存放系统管理和配置文件 如 passwd 用 ...
- css文字截断
通过css将文字进行截断,截断部分使用省略号代替 .impleName{ max-width: 100%; /*最大宽度为当前元素的100%*/ display: inline-block; whit ...
- C/C++ cmake example
学习 Golang,有时需要 Cgo,所以需要学习 C.C++. 语言入门: https://item.jd.com/12580612.html https://item.jd.com/2832653 ...
- 洛谷 P1217 回文质数
洛谷 P1217 回文质数 链接 https://www.luogu.org/problem/P1217 题目 题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 ...
- Linux添加vsftp账户和设置目录权限
改变store下面的所有.php文件属主为ftpd[root@www ~]# chgrp ftpd /store/*.php[root@www ~]# chown ftpd /store/*.php ...
- jQuery遍历(2)
上期我们讲了遍历的祖先和后代的问题,现在我们讲讲遍历同胞 同胞拥有相同的父元素. 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素. jQuery siblings() 方法 siblin ...
- jQuery遍历(1)
jQuery 遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML 元素.以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止. 图示解释: 举例: jQuery p ...
- Machine Learning Technologies(10月20日)
Linear regression SVM(support vector machines) Advantages: ·Effective in high dimensional spaces. ·S ...