• 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 证书

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

  • 相关阅读:
    How to bind to data when the DataContext is not inherited【项目】
    访问ControlTemplate内部的元素
    TemplateBinding vs TemplatedParent【PluraSight】
    UserControl和CustomControl基础【PluraSight】
    如何让label和textblock分成两行
    Labeled ContentControl & LabeledControl【项目】
    Label & TextBlock
    How to use SourceGear DiffMerge in SourceSafe, TFS, and SVN【项目】
    转载 使用WiX Toolset创建.NET程序发布Bootstrapper(安装策略管理)(一&二)——初识WiX
    Unity中的C#规则
  • 原文地址:https://www.cnblogs.com/ahguSH/p/7477784.html
Copyright © 2020-2023  润新知