windows环境下Mongodb分片配置
使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦。以下是自己部署的过程和示例,记录下来希望能对需要这些的人有一定的帮助。
首先感谢这篇博客的指引:http://blog.csdn.net/tianyijavaoracle/article/details/41643649
1.下载mongodb windows客户端
2.在本地新建一个文件夹(硬盘大点的好),然后将下载的文件重命名为config1,如下:

其中db为以后存放数据库的文件夹,目前是空的,bin里面放入mongodb的所有文件,bin文件列表如下:

mongoDB.bat是自己写的一个批处理文件,主要是为了方便快速启动,省去启动cmd输入代码的过程。
3.把第2步的文件复制7份,这里使用了1个路由服务,3个配置服务,3个分片服务。详细结果如下:

4.修改config1、config2、config3里mongoDB.bat的端口号:

将2001修改为自己需要的端口号,注意三个文件夹里面端口号须不一样。
5.修改data1、data2、data3里mongoDB.bat的端口号:

将2004修改为自己需要的端口号,注意三个文件夹里面端口号须不一样
6.修改main中mongoDB.bat的配置:

将里面的三个服务地址修改为第4步配置的地址(本机使用的IP为127.0.0.1,有固定IP的服务器使用服务器固定ip和端口号即可)
7.开始启动mongodb服务,首先依次点击config1、config2、config3里mongoDB.bat,然后点击main中mongoDB.bat,最后依次点击data1、data2、data3里mongoDB.bat。至此mongodb服务已经全部打开,后面要做的是进行分片附加操作,即让data1-data3能附属到main的服务中去。
8.在main文件夹下新建xxx.bat(名字任意),位置如下:

输入内容如下:
cd\
cd %~dp0bin
echo 进入%~dp0bin mongo 127.0.0.1:/admin
上面ip和端口好修改为main中自己配置的端口号,这里默认的是2222,保存后双击启动bat。
然后依次输入如下内容,每输入一次后回车一次(注意以下的ip地址和端口号需要换成上述4-5步中修改后的端口号):
)db.runCommand({"addShard":"127.0.0.1:2004","maxSize":})
)db.runCommand({"addShard":"127.0.0.1:2005","maxSize":})
)db.runCommand({"addShard":"127.0.0.1:2006","maxSize":})
上述步骤中的maxSize代表了分块最大占用空间,2000代表2G。
下面进行对指定数据库进行分片,这里的数据库名(mongopan)替换为实际的数据库名
)db.runCommand({"enablesharding":"mongopan"})
第5、6步就是指定对GridFS进行分片存储,不执行这两步会发现分片只会一直存在一个分片服务中,不会到其他的分片服务中去,这样还不如不分片呢。网上对GridFS分片的配置比较少,参考了官网(http://docs.mongoing.com/manual/tutorial/shard-gridfs-data.html)的写法
)db.fs.chunks.ensureIndex({files_id:,n:})
)db.runCommand({shardCollection:"mongopan.fs.chunks",key:{files_id:,n:},unique:true})
执行完以上操作后mongodb的分片环境配置就完成了,亲测有效。
写下这些,为自己做个备忘,自己也在这些过程中经过了很多的坑,程序猿的朋友往往比较少,希望这篇文章能对你有一些帮助
windows环境下Mongodb分片配置的更多相关文章
- Windows环境下完全手工配置Apache、MySQL和PHP
现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...
- Windows环境下MongoDB的安装与配置
MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...
- Windows环境下JDK的配置及多版本JDK切换的方法记录
(这里记录了笔者了解的关于JDK环境配置的信息,以及针对系统上存在不同版本JDK时所尝试的解决方案.具体来说,是已安装 JDK 8 后,又安装了 JDK 9 时所遇到的问题和尝试的解决方法.这次记录以 ...
- OGG在windows环境下字符集的配置
windows环境下不配置字符集(默认使用windows自己的字符集),从linux等系统同步过来的表中如果含有中文字符列将显示为乱码,被ogg误认为虚拟列,从而导致进程abend. 设置ogg进程在 ...
- win7环境下mongodb分片和移除
本文主要介绍在一台win7电脑上模拟mongo分片.如果有多台服务器,可以将每个mongo部署在单台电脑上.我们将配置3个mongo分片,3个配置服务器,1个路由服务器.如下图所示进行配置,介绍如何增 ...
- Nodejs简单介绍以及在windows环境下安装与配置流程
简介 一. Nodejs是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. ...
- windows环境下Django安装配置
--python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...
- windows环境下mysql主从配置
mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...
- windows环境下memcache相关配置及PHP加载相应模块(php7版本)
原文:https://blog.csdn.net/zhangatle/article/details/77504094 亲测安装成功 php 7.0 nts 86 第一步,首先下载windows版本的 ...
随机推荐
- Python学习笔记 (3) :列表、元组的操作
列表,即写在方括号之间.用逗号分隔开的数值列表.列表内的项目不必全是相同的类型. >>> a = ['spam', 'eggs', 100, 1234] >>> a ...
- 转几篇关于Android webView的网文
1,控件WebView显示网页 http://www.cnblogs.com/tinyphp/p/3858997.html http://blog.csdn.net/t12x3456/article/ ...
- c 结构体 简单的了解
1.声明一个学生类的 结构体 struct Student{ int age; char name[20];//长度为20的字符串 int weiht;//像正常一样的申请变量,这个变量属于结构体的一 ...
- libcprops
Install Howto Download the latest epel-release rpm from http://dl.fedoraproject.org/pub/epel/6/x86_6 ...
- 在Spring Boot启动后执行指定代码
在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,准备测试数据等等. 在Spring中可以通过ApplicationListener来实现相关的功能,不过在配合Spring Bo ...
- COBOL学习
COBOL概述 什么是COBOL语言: COBOL是Common Business Oriented Language的缩写,是面向商业通用编程语言.它是专门为商业数据处理而设计 ...
- Ext.MessageBox.Show使用Progress
在此之前,先添加引用:以下引用方式仅供参考:由于我的extjs文件夹放在script文件夹下 <link href="~/Scripts/extjs/resources/ext-the ...
- Sass入门——基本特性-基础
本文来自慕课网大漠 声明变量 三个部分:1.声明变量的符号"$"2.变量名称3.赋予变量的值 $brand-primary : darken(#428bca, 6.5%) !def ...
- Enze frist day
今天是我来到云和学院正式开班上课的第一天,我选择学习的科目是.net.因为.net我在学校的时候接触过一些,所以我想要更加深入的去学习.我觉得一个学生在学习上最怕的是没有遇到一位负责任的好老师,但幸运 ...
- javascripts小结
1 NAN-isNaN():判断是否数值 2 数值转换 Number()-任何数据类型,parseInt(),parseFloat()-字符串 3数组转字符串 var a=["red&quo ...