美文网首页
mongoDB 带有keyfile 认证的复制集添加仲裁

mongoDB 带有keyfile 认证的复制集添加仲裁

作者: tglmm | 来源:发表于2019-09-27 17:33 被阅读0次

环境:

server port role
10.0.3.107 27017 m0 (PRIMARY)
10.0.3.107 28017 ma (SECONDARY)
10.0.3.109 27017 m1 (ARBITER)

已经配置的主从关系m0,m1并且带有密钥认证需要添加一个仲裁器,问题在于新建的仲裁器不会同步主节点数据,也就是不会同步已经创建的数据库认证信息
实现高可用性,如果条件允许,最好的方案是将仲裁器放到另外的网络环境,或者服务器中

docker run -d --restart=always -p 28017:27017 \
-v /home/tglmm/mongo-key-file:/mongo-key-file \
-v /data/db/ma:/data/db \
 --name ma  mongo:4.1.4 \
/bin/bash -c 'mongod --port 27017 --keyFile /mongo-key-file/keyfile --replSet rs0 --bind_ip 0.0.0.0'

进入当前主节点所在的mongo shell
docker exec -i 640ed49c16cd mongo \
--host 10.0.3.107 \
--username xxx --password 'xxx' \
--authenticationDatabase 'xxx' \
--port 27017
rs.add('10.0.3.107:28017')    //先将其添加为一个辅助节点,等待一段时间会进行数据的全量复制
rs.status()
    "members" : [
        {
            "_id" : 0,
            "name" : "10.0.3.107:28017",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 4988,
            "optime" : {
                "ts" : Timestamp(1569575425, 1),
                "t" : NumberLong(2)
            },
            "optimeDurable" : {
                "ts" : Timestamp(1569575425, 1),
                "t" : NumberLong(2)
            },
            "optimeDate" : ISODate("2019-09-27T09:10:25Z"),
            "optimeDurableDate" : ISODate("2019-09-27T09:10:25Z"),
            "lastHeartbeat" : ISODate("2019-09-27T09:10:30.930Z"),
            "lastHeartbeatRecv" : ISODate("2019-09-27T09:10:31.248Z"),
            "pingMs" : NumberLong(0),
            "lastHeartbeatMessage" : "",
            "syncingTo" : "10.0.3.107:27017",
            "syncSourceHost" : "10.0.3.107:27017",
            "syncSourceId" : 1,
            "infoMessage" : "",
            "configVersion" : 2
查看到起状态为 :SECONDARY,并从主节点同步数据库
等待一段时间基本同步完成
rs.remove('10.0.3.107:28017')
rs.status()   10.0.3.107:28017//查看已经被踢出
rs.addArb('10.0.3.107:28017')   //将其添加为复制集的仲裁节点
rs.conf()  //查看状态

待上面操作结束模拟主节点故障,查看辅助节点stateStr值

相关文章

  • mongoDB 带有keyfile 认证的复制集添加仲裁

    环境: 已经配置的主从关系m0,m1并且带有密钥认证需要添加一个仲裁器,问题在于新建的仲裁器不会同步主节点数据,也...

  • MongoDB复制集 搭建

    MongoDB复制集概述 准备 初始化复制集主节点、添加从节点和仲裁节点 检查各个节点local库信息 检查复制集...

  • 如何搭建简单的MongoDB复制集群

    生成共用keyfile文件 生成 keyfile文件到/var/mongodb/pki目录 创建集群配置文件 以三...

  • mongodb——分布式

    复制集 mongodb在集群环境中,通过复制的形式对数据进行冗余。mongodb复制集有Primary、Secon...

  • Mongodb分片集群搭建

    MongoDb分片集群搭建 基于mongodb3.6 分片集群的权限控制 Brief: 内部通过keyfile控制...

  • 七、rancher搭建Mongodb集群化部署:

    一.Mongodb在rancher上面部署:命令如图:mongod --keyFile /data/key/key...

  • MongoDB 分片集群技术

    1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合。...

  • mongodb复制集+认证踩坑记录

    目标 两个实例上的(mongodb)数据同步,从主实例写入数据,可以从任意实例读取。当任意实例挂了后,另外一个实例...

  • mongodb复制集

    mongodb复制集技术 mongodb复制结构功能 1、failover过程选主切换 2、是否对应用透明化vip...

  • mongodb性能问题诊断与优化

    mongodb目前在业界的使用一般可分为两种架构:主从复制集和分片复制集集群。 因为分片复制集包含了主从复制集的功...

网友评论

      本文标题:mongoDB 带有keyfile 认证的复制集添加仲裁

      本文链接:https://www.haomeiwen.com/subject/sodauctx.html