Win7下MongoDB配置replica-set

今天在项目开发中需要使用MongoDB4.0.6的事务(如何在springboot中使用mongdb事务以及遇到的大坑,详见另一篇“SpringBoot使用MongoDB事务实现多文档间原子操作及在properties文件中配置replica-set”),但standlone实例不支持事务,需要配置replica-set,下面记录配置过程。

  1. 安装MongoDB
    mongodb版本要不小于4.0,package中选择msi,下载地址(复制最下面连接用迅雷下载更快):
    https://www.mongodb.com/download-center/community
    1.PNG

    与3.x版本需要新建db、mongo.log、mongo.config以及配置环境变量和设置Windows服务不同,4.0版本的安装过程很简单:除了自定义安装目录以及取消Install MongoDB Compass外(见下图),其他一路next直到install,安装完后即可以管理员身份启动cmd,输入命令net start MongoDB启动服务。
    1.jpg
2.jpg
1.PNG

(注意:与在bin目录下通过“mongod --config ”启动后在浏览器输入localhost:27017会看到“It looks like you are trying to access MongoDB over HTTP on the native driver port.”;但通过net start MongoDB启动服务的方式启动后,在浏览器输入localhost:27017不会返回结果,这是正常的)

2.配置主节点、从节点、仲裁节点
我的安装路径是:D:\ProgramFiles\MongoDB\Server\4.0,此目录下包含bin、data及log文件夹。配置过程如下:
(1)在与bin同级目录下新建文件夹config,在config中新建rs1、rs2、rs3三个文件夹。在rs1、rs2、rs3中分别新建配置文件mongod.cfg。


2.PNG

其中,rs1中的mongod.cfg:


1.PNG

rs2中的mongod.cfg:


2.PNG

rs3中的mongod.cfg:


3.PNG

注意:以上三个配置文件中replSet的值(即复制集名称)要一样,port不能一样。
(2)在log文件夹下新建rs1.log、rs2.log、rs3.log三个日志文件;


3.PNG

(3)在data文件夹下新建rs1、rs2、rs3三个文件夹。


4.PNG

3.启动replica set
用管理员身份运行cmd,切换到D:\ProgramFiles\MongoDB\Server\4.0\bin后,用以下命令依次启动主节点、从节点、仲裁节点:
'''
//启动主节点
mongod --config D:\ProgramFiles\MongoDB\Server\4.0\config\rs1\mongod.cfg
//启动从节点
mongod --config D:\ProgramFiles\MongoDB\Server\4.0\config\rs2\mongod.cfg
//启动仲裁节点
mongod --config D:\ProgramFiles\MongoDB\Server\4.0\config\rs3\mongod.cfg
'''
启动后命令行可能看不到任何消息,别担心,可以到各自对应的日志文件中查看启动情况(如下图),如果看到类似"waiting for connections on port 27000",表示已启动成功。(注意,最好是依次执行,否则在使用数据库管理工具rockmongo时,如果在rockmongo\web\rockmongo\config.php中配置的端口是主节点的端口,如27000,那么在启动脚本rockstart.bat后管理工具界面左侧回提示报错,不会显示mongodb中已有的数据库)


1.jpg

1.jpg

4.验证
上面的三个节点启动后,可以在studio 3T中验证是否配置成功。
(1)在studio 3T中建立3个connection,名字自己取,server为localhost,端口分别为27000,27001,27002,操作过程如下图:


1.PNG

点击save,然后connect。
(2)在左侧选择主节点连接,然后点击工具栏的“intelliShell”,在右侧弹出的shell窗口中输入:
rs.initiate()//初始化主节点(不需要初始化从节点和仲裁节点)
rs.conf()//初始化配置
rs.add("localhost:27001")//向主节点添加从节点
rs.addArb("localhost:27002")向主节点添加仲裁节点
rs.status()//查看主节点状态
(3)在主节点新增数据库,插入集合
use test
db.createCollection("test")
(4)右键点击左侧主节点连接,选择"Refresh All",就可以看到数据库test下Collections目录下有test文档了。然后右键从节点连接,选择"Refresh All",可以看到从节点中也有该文档,表明配置成功。

本文参考了以下文章,在此一并向作者致谢!
参考文章:
(1)MongoDB复制集的配置(基于Window )
https://blog.csdn.net/huanyuminhao/article/details/82052107
(2)MongoDB可视化工具Studio 3T的使用
https://blog.csdn.net/weixin_39999535/article/details/81383196
(3)第2、3、4张截图
https://blog.csdn.net/qq_27093465/article/details/54574948

你可能感兴趣的:(Win7下MongoDB配置replica-set)