Win10 64位+mongodb集群搭建

项目中想用mongodb,于是抽时间了解了下,以此片博客作为记录。

Mongodb下载地址

从官网下载最新版本的mongodb,我选择的是window系统的zip格式,下载完成后直接解压到D:\mongodb\目录下,这个是作为备份用的,我在D:\test\目录下新建三个目录

mongodb1、mongodb2、mongodb3,将mongodb目录下的文件分别拷贝三份到新建的目录里,mongodb1作为主服务器,mongodb2作为从服务器,mongodb3最为仲裁服务器,下面分别对三个服务器进行配置。

在mongodb1目录下新建data和log文件夹,log中放master.log存放日志,data文件夹下建master文件夹,里面放master.conf配置文件,其他两个类似,具体如下图:

 

同理,mongodb2如下:

mongodb3文件夹如下:

 

只需要注意红框中的内容即可,其他都是连接数据库后生成的,不需要管。

然后是三个配置文件的代码:

master.conf

 

#master.conf  
dbpath=/test/mongodb1/data/master  
logpath=/test/mongodb1/log/master.log  
pidfilepath=/test/mongodb1/master.pid  
directoryperdb=true  
logappend=true  
replSet=testrs  
port=27017 


slaver.conf

 

 

#slaver.conf  
dbpath=/test/mongodb2/data/slaver  
logpath=/test/mongodb2/log/slaver.log  
pidfilepath=/test/mongodb2/slaver.pid  
directoryperdb=true  
logappend=true  
replSet=testrs  
port=27018  
oplogSize=10000 


arbiter.conf

 

 

#arbiter.conf  
dbpath=/test/mongodb3/data/arbiter  
logpath=/test/mongodb3/log/arbiter.log  
pidfilepath=/test/mongodb3/arbiter.pid  
directoryperdb=true  
logappend=true  
replSet=testrs  
port=27019


从网络资源看,别人有设置fork=true这个的,在linux下是没问题的,在windows下回报错,我直接给去掉了,不影响。

 

参数解释:

 

dbpath:数据存放目录

logpath:日志存放路径

pidfilepath:进程文件,方便停止mongodb

directoryperdb:为每一个数据库按照数据库名建立文件夹存放

logappend:以追加的方式记录日志

replSet:replica set的名字

bind_ip:mongodb所绑定的ip地址

port:mongodb进程所使用的端口号,默认为27017

oplogSize:mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%

fork:以后台方式运行进程

noprealloc:不预先分配存储

 

由于我是在一台电脑上测试的,所以我把bind_ip去掉了,加上会有错误。

 

配置文件都配置完了,下面开始启动。我为了方便写了四个简单的批处理命令,如下:

 

主服务器启动.bat

 

@echo off
d:
cd test\mongodb1\bin
mongod -f d:\test\mongodb1\data\master\master.conf


从服务器启动.bat

 

 

@echo off
d:
cd test\mongodb2\bin
mongod -f d:\test\mongodb2\data\slaver\slaver.conf


仲裁服务器启动.bat

 

 

@echo off
d:
cd test\mongodb3\bin
mongod -f d:\test\mongodb3\data\arbiter\arbiter.conf


配置节点.bat

 

 

@echo off
d:
cd test\mongodb1\bin
mongo 192.168.1.141:27017
use admin
cfg={_id:"testrs", members:[{_id:0,host:'192.168.1.141:27017',priority:1}, {_id:1,host:'192.168.1.141:27018',priority:1},{_id:2,host:'192.168.1.141:27019',arbiterOnly:true}]};
rs.initiate(cfg)
rs.status()

 

 

 

 

 


这个配置节点有可能不会执行完,如果执行到mongo 192.168.1.141:27017这停止了,就接着在命令窗口输入下面的命令,一条命令一个回车。地址是我的ip,改成自己的即可。

如果一开始建的文件目录和我不一样要修改这四个启动文件的。

最后成功应该会出现我这个界面:

 

然后可以用mongodb可视化工具连接上mongodb测试下集群是否搭建成功,我用的Robomongo连接测试的如下:

 

会发现在主服务器添加数据后从服务数据也会改变,当关闭主服务器时,在配置节点输入rs.conf()会发现从服务器27018端口这个服务器的的数据会变成如下:

primary表示主服务器。再次对数据进行增删改,然后启动主服务器,发现数据是一样的。

 

将所有的文件打包,目录如下:

 

数据库配置及可视化工具下载

 

教程到这来基本就结束了,楼主本来想将这个副本集集成到SSM框架中的,但是因为时间原因搁置了,有集成好的同学顺便告诉我一声(SSM集成单个mongodb还是比较容易实现的,集成副本集各种坑)

关注公众号,不定期发送各种Android、Java源码框架福利

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博主逸尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值