在以前的博客mongodb复制篇中,介绍了一些基本分mongodb复制概念和内部运行机制。mongodb
本文从如下两个方面介绍mongodb副本集的配置过程。shell
1、复制集配置数据库
2、复制集启用内部认证windows
1、复制集配置spa
环境:操作系统
windows操做系统3d
mongodb 3.4社区版blog
目标:博客
在同一部机器上配置包含3个节点的复制集:rs0it
在mongodb已经安装好的前提下,分别为3个节点建立数据目录(用于存放当前节点的数据表)rs0-0、rs0-一、rs0-2
分别启动(同时初始化数据目录)三个mongod实例:
mongod --port 27017 --dbpath E:\devInstall\MongoDB\rs\rs0-0 --replSet rs0 --smallfiles --oplogSize 128
mongod --port 27018 --dbpath E:\devInstall\MongoDB\rs\rs0-1 --replSet rs0 --smallfiles --oplogSize 128
mongod --port 27019 --dbpath E:\devInstall\MongoDB\rs\rs0-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节点中成功查询到了主节点新插入的数据,且有十秒钟的数据延时。
2、复制集启用内部认证
认证方式:一、keyfile 二、x.509 证书
内部认证明例待续。。。。。。。