使用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分片配置的更多相关文章

  1. Windows环境下完全手工配置Apache、MySQL和PHP

    现在LAMP(Linux.Apache.MySQL.PHP/Perl/Python的简称)已经很流行了.在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Win ...

  2. Windows环境下MongoDB的安装与配置

    MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...

  3. Windows环境下JDK的配置及多版本JDK切换的方法记录

    (这里记录了笔者了解的关于JDK环境配置的信息,以及针对系统上存在不同版本JDK时所尝试的解决方案.具体来说,是已安装 JDK 8 后,又安装了 JDK 9 时所遇到的问题和尝试的解决方法.这次记录以 ...

  4. OGG在windows环境下字符集的配置

    windows环境下不配置字符集(默认使用windows自己的字符集),从linux等系统同步过来的表中如果含有中文字符列将显示为乱码,被ogg误认为虚拟列,从而导致进程abend. 设置ogg进程在 ...

  5. win7环境下mongodb分片和移除

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

  6. Nodejs简单介绍以及在windows环境下安装与配置流程

    简介 一. Nodejs是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. ...

  7. windows环境下Django安装配置

    --python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...

  8. windows环境下mysql主从配置

    mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...

  9. windows环境下memcache相关配置及PHP加载相应模块(php7版本)

    原文:https://blog.csdn.net/zhangatle/article/details/77504094 亲测安装成功 php 7.0 nts 86 第一步,首先下载windows版本的 ...

随机推荐

  1. 精简版LVCL,有空看看

    http://tothpaul.free.fr/sources.php?lvcl.lvcl1 http://synopse.info/forum/viewtopic.php?id=665

  2. Boyer–Moore (BM)字符串搜索算法

    在计算机科学里,Boyer-Moore字符串搜索算法是一种非常高效的字符串搜索算法.它由Bob Boyer和J Strother Moore设计于1977年.此算法仅对搜索目标字符串(关键字)进行预处 ...

  3. 技术不牛如何才拿到国内IT巨头的Offer

    不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技 ...

  4. 将MFC Grid control封装为DLL的做法及其在DLL中的使用方法

    MFCGrid control是一款非常优秀的网格控件,支持非常丰富的界面元素,如下图: 因而在数据库程序及报表程序应用较为广泛,其源码可以在下面下载到: MFC Grid control2.27源码 ...

  5. 【opengl】OpenGL中三维物体显示在二维屏幕上显示的变换过程

    转自:http://blog.sina.com.cn/s/blog_957b9fdb0100zesv.html 为了说明在三维物体到二维图象之间,需要经过什么样的变换,我们引入了相机(Camera)模 ...

  6. Baby Step Gaint Step

    给定同余式,求它在内的所有解,其中总是素数. 分析:解本同余式的步骤如下 (1)求模的一个原根 (2)利用Baby Step Giant Step求出一个,使得,因为为素数,所以有唯一解. (3)设, ...

  7. cocos2d-x新手学习之Helloworld(第三篇)[版本号:cocos2d-x-3.1.1]

    上篇中,能够正常执行NDK中的样例.可是由cocos2d-x生成的项目,不能编译成功.上一篇戳这里: http://blog.csdn.net/xjjjjjjjjjjj/article/details ...

  8. plsql developer连接64位Oracle11g的解决方法

    1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载地址:http://www.oracle.co ...

  9. C# Best Practices - Creating Good Methods

    How to Define a Method Identify the problem => Define the single purpose => Specify the inputs ...

  10. python中的迭代

    #迭代Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上. #list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标 ...