一文读懂MongoDB之副本集模式搭建

目录

一、副本集简介

(一)、副本集概述

(二)、副本集成员

(三)、副本集成员主要属性

(四)、副本集部署架构

二、副本集搭建部署过程

(一)、Primary节点创建目录

(二)、Primary节点下载MongoDB安装包

(三)、Primary节点解压安装包

(四)、Secondary01节点、Secondary02节点根据步骤(一)至步骤(三)安装MongoDB

(五)、Primary节点制作keyfile

(六)、Primary节点复制mongokeyfile文件到Secondary01节点、Secondary02节点

1、Primary节点复制mongokeyfile文件到Secondary01节点

2、Primary节点复制mongokeyfile文件到Secondary02节点

(七)、Primary节点创建MongoDB服务配置文件

(八)、Secondary01节点创建MongoDB服务配置文件

(九)、Secondary02节点创建MongoDB服务配置文件

(十)、启动Primary节点MongoDB服务

(十一)、按照步骤十分别启动Secondary01节点、Secondary02节点MongoDB服务

(十二)、在Primary节点初始化副本集

1、打开Primary、Secondary01、Secondary02节点的日志进行副本集初始化过程观察

2、Primary节点初始化副本集

(十三)、Primary节点创建管理用户root

(十四)、验证副本集数据同步

1、Primary节点新建数据

2、Secondary节点查看数据是否同步

三、副本集管理命令

(一)、查看副本集状态信息

(二)、查看副本集所有节点信息

(三)、查看单个副本集成员信息

(四)、调整副本集成员节点参数

(五)、新增副本集成员节点

(六)、剔除副本集成员节点

(七)、查看Secondary节点与Primary节点的数据同步差距


一、副本集简介

(一)、副本集概述

        MongoDB副本集是一组维护相同数据集的mongod服务,可提供数据冗余和服务高可用性。副本集具有故障自动切换能力当主节点(Primary)故障或者宕机时,在不需要用户干预的情况下,从节点(Secondary)会自动投票选举产生新的主节点(Primary)从而保证服务高可用还可以利用从节点(Secondary)做只读服务器,实现读写分离,提高负载。

        MongoDB 副本集最多只能有50个节点,且最多只能有7个节点拥有投票权,其余节点必须是没有投票权的节点。官方推荐副本集中具有投票权的节点数量为奇数个,从而避免出现脑裂(一个副本集被分割成多个副本集)的情况。

(二)、副本集成员

副本集中的节点成员主要分为三种:主节点(Primary)、从节点( Seconary)、仲裁节点 (Arbiter)。

● 主节点(Primary)

        主节点是副本集中唯一接受写入操作的成员,且一个副本集只能有一个主节点。主节点会在 Oplog 上记录数据变更操作,从节点成员复制该Oplog日志,并将数据变更操作应用于其数据集

● 从节点( Seconary)

        从节点维护主节点的数据集副本,一个副本集可以有一个或多个从节点。从节点通过异步过程将来自主节点 Oplog 的数据变更操作应用到自己的数据集,从而保证数据冗余。 从节点不可进行操作配置只读

● 仲裁节点 (Arbiter)

仲裁节点维护主节点数据集副本,仅参与主节点选举仲裁节点只有1张选举票。

(三)、副本集成员主要属性

● priority:该属性值控制主节点选举的优先级越大成为主节点优先级越高初始化副本集一般通过属性直接指定性能最好节点成为主节点优先级0节点成员无法成为主节点且无法触发选举。

● votes:属性控制节点成员是否有权参与主节点选举1代表有权0代表无权副本集最大支持7副本节点成员参与选举

● hidden:属性控制节点成员是否隐藏true代表隐藏false代表不隐藏隐藏成员维护主节点数据集的副本,但对客户端应用程序不可见。隐藏节点成员的优先级必须是0,但在选举中可以投票。

● tags:该属性控制副本成员打标签通过打标签方式区别不同副本成员从而使得特定服务可以访问特定副本

● slaveDelay:该属性值控制节点成员延迟一定时间同步Primary节点成员的数据延迟节点成员必须是优先级为0、hiddentruevotes0

(四)、副本集部署架构

副本集的最小推荐配置是三个节点:

● 一个主节点和两个从节点,且两个从节点都可以在选举中成为主节点

● 一个主节点、一个从节点和一个仲裁节点。从节点可以在选举中成为主节点,仲裁节点仅在选举中投票。

二、副本集搭建部署过程

副本集搭建,采用一个主节点、两个从节点的部署架构。

● 服务器IP

Primary:192.168.110.131

Secondary01:192.168.110.132

Secondary02:192.168.110.133

● 系统版本

CentOS Linux release 7.7.1908 (Core)

● 关闭防火墙

此处方便演示,Primary、Secondary01、Secondary02直接关闭防火墙

生产环境可以根据实际需求开通服务器防火墙策略

systemctl stop firewalld

systemctl stop iptables

(一)、Primary节点创建目录

● 创建安装主目录

[root@Primary ~]# mkdir -p /data/mongodb

● 创建数据目录

[root@Primary ~]# mkdir -p /data/mongodb/data

● 创建日志目录

[root@Primary ~]# mkdir -p /data/mongodb/log

(二)、Primary节点下载MongoDB安装包

● 安装wget命令

[root@Primary ~]# yum install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

野熊佩骑

您的鼓励是我持续创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值