在之前的博客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 证书
内部认证实例待续。。。。。。。