创建MongoDB副本集教程

Posted fanjunhui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建MongoDB副本集教程相关的知识,希望对你有一定的参考价值。

今天有时间搞了一下mongoDB的副本集,遇到好多坑,写下此文,方便日后查阅!

本教程是在windows环境下安装测试的(我是本机一台 + 两台虚拟机)

本机:10.53.8.159

虚拟机一:10.53.8.110

虚拟机二:10.53.8.112

MongoDB版本如下:

技术图片

一些基本设置我就不说了,比如三台都可以相互ping通,关闭了防火墙等等。

写入操作只能在主节点进行,从节点不能写入。

1.从官网下载安装包

https://www.mongodb.com/download-center/community

 

2.跟随教程安装

安装教程网上很多   https://www.runoob.com/mongodb/mongodb-window-install.html

注意:安装好后,不要再跟着它  “创建目录” ,因为data,log目录已经创建好了。

安装好后,我的目录如下

技术图片

 

 

 路径:E:\\MongoDB\\Server\\4.0

3.在其余两台虚拟机上也各自安装一遍mongoDB。

我的安装路径和本机保持一致,E:\\MongoDB\\Server\\4.0 希望大家也保持一致,等你搞熟了就随意了。

4.编辑本机中 E:\\MongoDB\\Server\\4.0\\bin\\mongod.cfg 配置文件

配置文件采用yml格式,所以需要注意别把格式搞错,否则会出现错误码1053

修改两个点:

1.bindIp:127.0.0.1  =======>bindIp: 0.0.0.0   这个是控制可以从哪些ip登陆mongoDB,0.0.0.0的话是可以从任意ip

2.将replication前的#号放开,修改成如下配置

replication:
oplogSizeMB: 128
replSetName: mySet
enableMajorityReadConcern: true

5.同步骤4,编辑虚拟机一,二 中 E:\\MongoDB\\Server\\4.0\\bin\\mongod.cfg 配置文件

6.制作启动bat文件

在本机  E:\\MongoDB\\Server\\4.0\\bin下,新建 mongo_start.bat(创建txt文件,然后将后缀txt改成bat即可)里面内容如下

mongod.exe --config "E:\\MongoDB\\Server\\4.0\\bin\\mongod.cfg"

技术图片

 

 

 技术图片

 

 

 7.同步骤6,虚拟机一,二 中也制作bat文件

8.双击本机,虚拟机一,二中的bat启动mongoDB副本集。

9.在本机上,进入E:\\MongoDB\\Server\\4.0\\bin目录,用cmd命令行连接mongoDB。

技术图片

 

 

 mongo --port 27017

10.定义副本集配置成员

注意:_id必须和mongod.cfg配置文件的replSetName完全相同。

rsconf =
_id: "mySet",
members: [

_id: 0,
host: "10.53.8.159:27017"
,

_id: 1,
host: "10.53.8.110:27017"
,

_id: 2,
host: "10.53.8.112:27017"

]

技术图片

 

 11.执行初始化命令

rs.initiate(rsconf)

 rsconf和步骤10定义的名称一致。

技术图片

 

 OK是1 ,表示创建成功。

12.查看配置后的信息

rs.conf()

技术图片

 

 12.使用可视化工具也可以看到相关信息

技术图片

 

 13.连接10.53.8.159 insert一条数据

db.col.insert(title: ‘MongoDB 教程‘, 
    description: ‘MongoDB 是一个 Nosql 数据库‘,
    by: ‘菜鸟教程‘,
    url: ‘http://www.runoob.com‘,
    tags: [‘mongodb‘, ‘database‘, ‘NoSQL‘],
    likes: 100
)
14.在10.53.8.110,10.53.8.112上都可以确认到数据,至此副本集配置和测试成功。
技术图片

 


 切记:

1.副本集启动前,确保data目录为空

2.确保路径不出错

3.确保三台机子相互间能ping通。(有时网络不好,也会失败)

 

附上官方文档说明:英文的,有能力可以阅读,收获绝对很大。

https://docs.mongodb.com/v4.0/tutorial/deploy-replica-set/

有任何问题可以留言联系我!

以上是关于创建MongoDB副本集教程的主要内容,如果未能解决你的问题,请参考以下文章

Windows上的MongoDB副本集面临一些基本问题

mongodb单机升级为副本集

MongoDB学习笔记:副本集

MongoDB创建副本集

搭建mongodb集群(副本集+分片)

[Database] MongoDB 副本集配置