zoukankan      html  css  js  c++  java
  • 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.修改config1config2config3mongoDB.bat的端口号:

      

      将2001修改为自己需要的端口号,注意三个文件夹里面端口号须不一样。

    5.修改data1data2data3mongoDB.bat的端口号:

      

      将2004修改为自己需要的端口号,注意三个文件夹里面端口号须不一样

    6.修改mainmongoDB.bat的配置:

      

      将里面的三个服务地址修改为第4步配置的地址(本机使用的IP127.0.0.1,有固定IP的服务器使用服务器固定ip和端口号即可)

    7.开始启动mongodb服务,首先依次点击config1config2config3mongoDB.bat,然后点击mainmongoDB.bat,最后依次点击data1data2data3mongoDB.bat。至此mongodb服务已经全部打开,后面要做的是进行分片附加操作,即让data1-data3能附属到main的服务中去。

    8.在main文件夹下新建xxx.bat(名字任意),位置如下:

      

    输入内容如下:

    cd
    cd %~dp0bin
    echo 进入%~dp0bin
    
    mongo 127.0.0.1:2222/admin

    上面ip和端口好修改为main中自己配置的端口号,这里默认的是2222,保存后双击启动bat

    然后依次输入如下内容,每输入一次后回车一次(注意以下的ip地址和端口号需要换成上述4-5步中修改后的端口号)

    1)db.runCommand({"addShard":"127.0.0.1:2004","maxSize":2000})
    2)db.runCommand({"addShard":"127.0.0.1:2005","maxSize":2000})
    3)db.runCommand({"addShard":"127.0.0.1:2006","maxSize":2000})

    上述步骤中的maxSize代表了分块最大占用空间,2000代表2G

    下面进行对指定数据库进行分片,这里的数据库名(mongopan)替换为实际的数据库名

    4)db.runCommand({"enablesharding":"mongopan"})

    56步就是指定对GridFS进行分片存储,不执行这两步会发现分片只会一直存在一个分片服务中,不会到其他的分片服务中去,这样还不如不分片呢。网上对GridFS分片的配置比较少,参考了官网(http://docs.mongoing.com/manual/tutorial/shard-gridfs-data.html)的写法

    5)db.fs.chunks.ensureIndex({files_id:1,n:1})
    6)db.runCommand({shardCollection:"mongopan.fs.chunks",key:{files_id:1,n:1},unique:true})

    执行完以上操作后mongodb的分片环境配置就完成了,亲测有效。

    写下这些,为自己做个备忘,自己也在这些过程中经过了很多的坑,程序猿的朋友往往比较少,希望这篇文章能对你有一些帮助

  • 相关阅读:
    Linux 下动态查找磁盘数量方法
    Laravel 学习 .env文件 getenv 获得环境变量的值
    win10系统怎样手动安装cab更新补丁
    TP框架中模糊查询实现
    PHP函数之HTMLSPECIALCHARS_DECODE
    Tp框架—方法中处理数据
    TP框架I方法详解
    鼠标经过图像改变实现
    TP视图命名规则之一
    Json_decode:详解
  • 原文地址:https://www.cnblogs.com/tracyjfly/p/5113185.html
Copyright © 2011-2022 走看看