win7环境下mongodb分片和移除
本文主要介绍在一台win7电脑上模拟mongo分片。如果有多台服务器,可以将每个mongo部署在单台电脑上。我们将配置3个mongo分片,3个配置服务器,1个路由服务器。如下图所示进行配置,介绍如何增加分片、移除分片。

一.下载windows zip版本,解压到一个目录中,并且复制7份,命名如下图:

二.分别在bin目录下建立 config.bat文件 文件内容如下列表格中所述。
注意在mongodb_xxxx目录下建data文件夹

注:路由配置中:mongos --port 2222 --configdb 127.0.0.1:2001,127.0.0.1:2002,127.0.0.1:2003
表示将路由器与配置服务器连接起来,使得他们自己可以认识对方。
三.启动:分别按照下列顺序启动mongo
1.点击配置服务器1的config.bat,启动配置
2.点击配置服务器2的config.bat,启动配置
3.点击配置服务器3的config.bat,启动配置
4.点击路由器1的config.bat,启动路由服务
5.点击分片1的config.bat,启动分片
6.点击分片2的config.bat,启动分片
7.点击分片3的config.bat,启动分片
注:启动完分片后,分片与路由之间还没有建立连接,他们是独立的,通过下面一步增加分片。
四.进入cmd命令终端,执行下列语句,client连接mongos,注意用admin连接

五.通过执行addShard命令增加分片,命令如下,增加2004,2005,2006端口的分片

六.为分片增加数据集合,测试分片
1.我们设定集合数据库名为:blog,用下列语句启用分片:
db.runCommand({enablesharding:"blog"})

2.要进行分片必须指定集合和片键,假设我们在博客系统时间与作者上进行分片,执行语句如下:
注意:我以"_id"为片键,db.runCommand({shardCollection:"blog.posts",key:{"_id":1}})

, 注意,blog是数据库名,posts类似于关系型中的表名。如果要对一个已经包含数据的集合进行分片,数据片键上必须有索引。
所有文档也都必须有片键值(且不能为null)。
七、分片后mongodb的使用
通过以上六步,mongodb的分片已经完成,可以直接使用了。
以上我们创建了那么多mongodb的port,那我们到底要链接mongodb的哪个端口呢?其实我们只使用mongos的端口(即,2222)就可以控制其他的进程。因为前面在mongos的配置信息中就将其他配置服务器串到了mongos上了,所以我们像使用一个mongodb服务一样去使用mongos就可以了。
八、分片优化注意
1.根据分片磁盘容量设置分片最大数据量执行下面的语句,增加一个分片且只使用20GB
db.runCommand(‘addShard’:’127.0.0.1:2007’,’maxSize’:20000);

2.在添加新分片时,应该在mongo不是高度负载情况下添加,否者mongo在迁移数据时,会把应用正在使用的数据迁移到硬盘中,这样查询就会非常满。
九.移除分片
1.有时也需要移除分片,执行如下命令:

此时draining started successfunlly 表示正在进行分片移除,会将2006上数据迁移到其他分片上,这个过程非常耗时间。通过下面命令检测是否已经完成移除。

2.检测是否完成移除分片,再次执行下来语句,返回completed,表示移除完成,移除后就可以对2006进行任何操作了,关机也无所谓了。
3.如果使用了副本集,对某个副本集进行修改,应该连接副本集主服务器进行修改相应配置。
参考:http://www.shangxueba.com/jingyan/2897358.html
win7环境下mongodb分片和移除的更多相关文章
- windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...
- mac环境下mongodb的安装和使用
mac环境下mongodb的安装和使用 简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据 ...
- WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)
以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境
写这篇博客时2D游戏引擎Cocos2d-x的最新版本号为2.1.4,记得非常久曾经使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文具体解释(亲測)>成功 ...
- 【转】Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
http://blog.csdn.net/ccf19881030/article/details/9204801 很久以前使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs20 ...
- 编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功)
编译mapnik(win7 环境下vs2008编译mapnik 0.7.1 成功) ------by wangsh 2012.02.22 Mapnik 是一个开源的 Python/C++ 地图渲染引 ...
- WIN7 环境下搭建 PHP7(64 位)操作步骤
WIN7 环境下搭建 PHP7(64 位)操作步骤 一.安装与配置 Apache 1.下载 Apache下载地址:https://www.apachelounge.com/download/ 2.安装 ...
- PGPDesktop在win7环境下的安装和使用
PGPDesktop在win7环境下的安装和使用 PGP的简介 PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件,它提供了非对称加密和数字签名,是目前非常流 ...
- 在Win7环境下安装启动Linux
在Win7环境下安装启动Linux 在Win7系统下,安装启动Linux特别的不方便,由于XP下的boot.ini配置文件不在了,要加入�一下启动选项的话, 仅仅能使用专门的工具,这或多或少给人带来不 ...
随机推荐
- 关于memset的几个易错点
memset(void *s,int ch,size_t n); 作用:将s中当前位置后面的n个字节用 ch 替换并返回 s 注意这里是“字节”而非单位长度,memset不会考虑各个类型的单位长度,只 ...
- Linux查看修改文件句柄数
SuSE 11SP3 默认句柄数是1024 1.查看linux的文件句柄数 ulimit -a 2.修改文件句柄数 ①ulimit -n 65535②修改linux系统参数.vi /etc/secur ...
- python: 基本数据类型 与 内置函数 知识整理
列表 list.append(val) #末尾追加,直接改变无返回 list.inert(2,val) #插入到指定位置 list.extend(mylist1) #list会被改变 list2=li ...
- git配置ssh秘钥(公钥以及私钥)linux
本文默认已经安装git,并有github或者gitlab账号 git在linux下安装参考:https://www.cnblogs.com/lz0925/p/10791147.html 在Linux中 ...
- Balancing Act POJ - 1655 (树的重心)
Consider a tree T with N (1 <= N <= 20,000) nodes numbered 1...N. Deleting any node from the t ...
- CUDA warning C4819的消除
问题描述:在使用VS2010编译CUDA程序时,有很多C4819警告: warning C4819:The file contains a character that cannot be repre ...
- Tableau Sheet中的操作
如果想要给数据排名,例如给饼图中的数据排名 1 创建一个Rank 描述为INDEX()的测度 2.将RANK用Label形式显示并且编辑计算方法选择特定的属性. 属性本身也有可以快速计算的一些方式. ...
- HDU - 6087 Rikka with Sequence (可持久化treap+倍增+重构)
题目链接 感谢Dream_Lolita的题解,经过无数次失败的尝试之后终于AC了... 线段树是维护区间信息的强大工具,但它的形态是固定的,只支持修改和删除操作,不支持插入.反转.复制.分裂合并等操作 ...
- html背景图不随滚轮滚动,而且按住Ctrl并滚动滚轮时,图片不会变大缩小,就像百度的首页一样
之前在百度知道我提问过这一个问题,后来解决了.不过好多人来问我时怎么解决的,源码.其实很简单.这里我贴一下代码.有需要的小伙伴不用再加我qq了,直接来这里取吧. 里面的图片是我随便找的. <!D ...
- wx小程序知识点(三)
三.封装小程序的数据请求 (1)在根目录创建utils目录,创建config.js.base.js (2)在config.js中创建config类,并将请求路径配置给config的属性restUrl, ...