MongoDB主从复制集搭建

什么是复制集?

复制集(副本集)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断的服务进行恢复。

MongoDB复制集原理:

MongoDB的复制集至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。

MongoDB各个节点常见的搭配方式为:一主一从,一主多从。

主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

MongoDB复制结构图如下所示:

 MongoDB主从复制集搭建

以上结构图中,客户端从主节点读取数据,在客户端写入数据到主节点时,主节点与从节点进行数据交互保障数据的一致性。

<强>复制集的优势:

让数据更安全
搞数据可用性
灾难恢复
无停机维护(如备份,重建索引,故障转移)
读缩放(额外的副本读取)
副本集对应用程序是透明的

<强>复制集的特点:

N个几点的群集
任何节点可作为主节点
所有写入操作都在主节点上
自动故障转移
自动恢复

<强>主从切换:

1。手动切换:主动放弃主,其余从服务器会选举出主服务器
2。自动切换:关闭MongoDB服务,其余从服务器会选举出主服务器


<强> 1。安装MongoDB链接: Centos 7超简单百胜源安装MongoDB

<强> 2。因为是实验,所以在一台Centos 7虚拟机的MongoDB服务器进行配置复制集,IP: 192.168.233.6

<强> 3。添加配置开启4个实例,端口号分别为:

27017
2) 27018 1)
27019
4) 27020 3)

<强> 4。实验操作: 4个实例,,开启三个,1主2个从,,额外添加复制集追加实27020年例节点,,,,,27020年撤销实例节点


<强> 1。安装MongoDB完成后,默认端口号是27017

额外添加3个实例

首先需要创建三个数据存储目录,三个日志文件

mkdir - p/数据/MongoDB/MongoDB {2、3、4},,,,,,,,,,,,,,,,,,#创建三个数据文件目录
mkdir - p/数据/mongodb/logs ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#创建日志文件目录
触摸/数据/mongodb/日志/mongodb {2、3、4} .log ,,,,,,,,,,,#创建3个日志文件
chmod 777/数据/mongodb/日志/* .log ,,,,,,,,,,,,,,,,,,,,,,,#修改日志文件的权限,能写能读,最大权限

 MongoDB主从复制集搭建

 MongoDB主从复制集搭建

<强> 2。27017年修改端口默认MongoDB的配置文件,开启复制集

vim/etc/mongod.参看

 MongoDB主从复制集搭建“> <img src=

<强> 3。因为修改过配置文件所以需要关闭并重新开启MongoDB

mongod - f/etc/mongod.conf ——shutdown ,,,,,,,,,,,,,,,,#关闭MongoDB

 MongoDB主从复制集搭建

mongod - f/etc/mongod.conf ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#开启MongoDB

 MongoDB主从复制集搭建

<强> 4。复制并生成3个节点配置文件,进行修改

# cp - p/etc/mongod. root@localhost日志参看/etc/mongod2.参看
# cp - p/etc/mongod. root@localhost日志参看/etc/mongod3.参看
# cp - p/etc/mongod. root@localhost日志参看/etc/mongod4.参看


<强> 5。需要修改每一个节点的配置文件

# vim/etc/mongod2. root@localhost日志参看

# vim/etc/mongod2.相依,,

,,,……

路径:/数据/mongodb/日志/mongodb2。日志,,,,,,,//每个实例指定自己日志目录

,,,.......

dbPath:/数据/mongodb mongodb2,,,,,,,,,,,,//每个实例指定自己的数据目录

,,,端口:27018,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//指定端口分别为27018年,27019年,27020年

MongoDB主从复制集搭建