MongoDB第二章--搭建主从复集群

    技术2022-07-10  88

    mongodb 搭建主从复集群

    知识点:

    复制集群的架构复制集群搭建复制集群的选举配置

     

    1.复制集群的架构

     

    复制集群搭建基础示例

    1、新建三个目录

    mkdir -p /data/mongo/master

    mkdir -p /data/mongo/slave

    mkdir -p /data/mongo/slave2

    2、在mongdb目录下新建三个配置文件

    vim mongo-master-27017.conf

    主节点配置

    dbpath=/data/mongo/master

    port=27017

    fork=true

    logpath=master.log

    replSet=tulingCluster

     

    vim mongo-slave-27018.conf

    从节点配置

    dbpath=/data/mongo/slave

    port=27018

    fork=true

    logpath=slave.log

    replSet=tulingCluster

     

    vim mongo-slave-27019.conf

    #子节点配置2

    dbpath=/data/mongo/slave2

    port=27019

    fork=true

    logpath=slave2.log

    replSet=tulingCluster

     

    分别启动三个节点

    进入其中一个节点

    集群复制配置管理

    #查看复制集群的帮助方法

    rs.help()

     

    添加配置

    // 声明配置变量

    var cfg ={"_id":"tulingCluster",

    "members":[

    {"_id":0,"host":"127.0.0.1:27017"},

    {"_id":1,"host":"127.0.0.1:27018"}

    ]

     }

    // 初始化配置

    rs.initiate(cfg)

    // 查看集群状态

    rs.status()

     

    变更节点示例:

    // 插入新的复制节点

    rs.add("127.0.0.1:27019")

    // 删除slave 节点

    rs.remove("127.0.0.1:27019")

     

    演示复制状态

    进入主节点客户端

     

        2.进入从节点查看数据

    注:默认节点下从节点不能读取数据。调用 rs.slaveOk() 解决。

     

    复制集群选举操作

    为了保证高可用,在集群当中如果主节点挂掉后,会自动 在从节点中选举一个 重新做为主节点。

    选举的原理:

      在mongodb 中通过在 集群配置中的 rs.属性值大小来决定选举谁做为主节点,通时也可以设置arbiterOnly 为true 表示 做为裁判节点用于执行选举操作,该配置下的节点 永远不会被选举为主节点和从节点。

     

    示例:

    重新配置节点

    var cfg ={"_id":"tulingCluster",

      "protocolVersion" : 1,

      "members":[

    {"_id":0,"host":"127.0.0.1:27017","priority":10},

    {"_id":1,"host":"127.0.0.1:27018","priority":2},

    {"_id":2,"host":"127.0.0.1:27019","arbiterOnly":true}

    ]

     }

    // 重新装载配置,并重新生成集群节点。

    rs.reconfig(cfg)

    //重新查看集群状态

    rs.status()

     

     

    节点说明:

     PRIMARY 节点: 可以查询和新增数据

     SECONDARY 节点:只能查询 不能新增  基于priority 权重可以被选为主节点

     RBITER 节点: 不能查询数据 和新增数据 ,不能变成主节点

     

    (本片文章为图灵学院学习总结)

    Processed: 0.013, SQL: 12