MongoDB副本集配置实例

 在之前的博客mongodb复制篇中,介绍了一些基本分mongodb复制概念和内部运行机制。

本文从以下两个方面介绍mongodb副本集的配置过程。

一、复制集配置

二、复制集启用内部认证

一、复制集配置

环境:

windows操作系统

mongodb 3.4社区版

目标:

在同一部机器上配置包含3个节点的复制集:rs0

 

在mongodb已经安装好的前提下,分别为3个节点创建数据目录(用于存放当前节点的数据表)rs0-0、rs0-1、rs0-2

分别启动(同时初始化数据目录)三个mongod实例:

mongod --port 27017 --dbpath E:devInstallMongoDB s s0-0 --replSet rs0 --smallfiles --oplogSize 128

mongod --port 27018 --dbpath E:devInstallMongoDB s s0-1 --replSet rs0 --smallfiles --oplogSize 128

mongod --port 27019 --dbpath E:devInstallMongoDB s s0-2 --replSet rs0 --smallfiles --oplogSize 128

下图为127.0.0.1:27017节点的启动过程(将三个节点分别在三个窗口启动):

 

登录27017节点,使用rs.initiate()来初始化复制集:

 

rs.conf()查看复制集配置信息:

使用rs.add("<hostname:port>")将另外两个节点添加到复制集中:

使用rs.isMaster()查看哪一个节点是主节点、哪一个是从节点

在主节点上创建数据库repl,创建一个用户collection并添加一条记录:

从mongo shell 登录到127.0.0.1:27018节点:

进行查询操作、提示错误。因为从节点默认既不能进行写入操作,也不能进行读取操作。

使用rs.slaveOk(),开启从节点的数据读取功能。

此时便再从节点上执行数据的查询操作。使用rs.printSlaveReplicationInfo()可以查看从节点复制数据的时间点和时间延迟。

如下图所示,27018节点中成功查询到了主节点新插入的数据,且有十秒钟的数据延时。

 

二、复制集启用内部认证

认证方式:1、keyfile  2、x.509 证书

内部认证实例待续。。。。。。。

原文地址:https://www.cnblogs.com/ahguSH/p/7477784.html