美文网首页
MongoDB 复制集副本节点成员

MongoDB 复制集副本节点成员

作者: 非典型程序员 | 来源:发表于2017-06-29 15:35 被阅读90次

优先级为0的节点(Priority 0 Replica Set Members)

优先级为 0 的副本节点不会被选举成为主节点,同时也不回触发选举执行。这个节点跟其他正常的副本节点一样,维护着一份数据的拷贝,接收 read 操作,也参与主节点的选取。优先级 0 的节点通常可以用作了冷备份节点。

节点配置:

  1. 获取复制集节点配置信息
test-set:PRIMARY> cfg = rs.conf()
test-set:PRIMARY>
  1. 修改节点 Priority
test-set:PRIMARY> cfg.members[2].priority = 0
0
test-set:PRIMARY>
  1. 重写配置
test-set:PRIMARY> rs.reconfig(cfg)
{ "ok" : 1 }
test-set:PRIMARY> 

这里需要注意的是,配置操作只能在 PRIMARY 节点进行。其次,如果需要将主节点的
Priority 设置为 0 ,必须使用 rs.stepDown()
将主节点降为副本节点。

隐藏节点(Hidden Replica Set Members)

隐藏节点首先是优先级为 0 的节点,同样维护着一份数据的拷贝,但是不接收 read 操作,也可不参与主节点选取投票。使用 db.isMaster()
也不会展示这个节点。

隐藏节点拥有与其他副本节点相当的工作负载能力。因为客户端的 read 请求不会被分发到隐藏节点,所以除了基本的复制操作之外不会其他的操作造成负载压力。基于这样的特性,隐藏节点可以做一些专门的操作,如备份和报告。

隐藏节点既可以参与主节点的选取投票,也可以不参与主节点选举投票。当设置为不参与投票时,需要确保剩下的节点能够成功选取出主节点。

节点配置:

test-set:PRIMARY> cfg = rs.conf()
test-set:PRIMARY> cfg.members[2].priority = 0
test-set:PRIMARY> cfg.members[2].hidden = true
#  votes  设置为0时,不能参与投票取主节点
test-set:PRIMARY> cfg.members[2].votes = 0 
test-set:PRIMARY> rs.reconfig(cfg)
{ "ok" : 1 }
test-set:PRIMARY> 

延时节点(Delayed Replica Set Members)

我们可以通过设置 “延时备份节点” 的方式来防止诸如误删除等的误操作,延时节点特性:

  1. 延时节点必须是优先级为 0 的节点,避免升级成为主节点。
  2. 应该设置成为隐藏节点,避免客户端请求被转发到该该节点。
  3. 当 votes 设置为1时,参与投票取主节点

节点配置:

test-set:PRIMARY> cfg = rs.conf()
test-set:PRIMARY> cfg.members[2].priority = 0
test-set:PRIMARY> cfg.members[2].hidden = true
#  votes  设置为0时,不能参与投票取主节点
test-set:PRIMARY> cfg.members[2].votes = 0 
# 单位秒
test-set:PRIMARY> cfg.members[2].slaveDelay = 3600
test-set:PRIMARY> rs.reconfig(cfg)
{ "ok" : 1 }
test-set:PRIMARY> 

相关文章

  • MongoDB 复制集副本节点成员

    优先级为0的节点(Priority 0 Replica Set Members) 优先级为 0 的副本节点不会被选...

  • MongoDB复制集

    1、MongoDB复制集(副本集)简介 复制集模式(replicaSet mode),也叫副本集模式,指两个及以上...

  • MongoDB复制集 搭建

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

  • 【mongoDB】MongoDB分片集群方案

    一、为什么要使用分片? MongoDB副本集实现了数据的多副本复制及高可用,但是一个复制集能承载的容量和负载是有限...

  • MongoDB副本集

    MongoDB有主从复制和副本集两种复制模式,主从复制最大的问题就是无法自动故障转移,MongoDB副本集则解决了...

  • MongoDB复制选举原理以及复制集的管理

    MongoDB复制集的节点是通过选举产生主节点的。 复制的原理:复制是基于操作日志oplog,相当于MySQL的二...

  • mogondb

    Mongodb副本集副本集是什么 – MongoDB 复制是将数据同步在多个服务器的过程。 – 复制提供了数据的冗...

  • MongoDb 设置复制集

    复制集概念 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Seconda...

  • Mongodb:永久解决查看副本集需要输入db.setMongo

    问题描述:在Ubuntu 16.04中配置好Mongodb复制集后,每次进入副本集查看数据都需要输入db.setM...

  • MongoDB高可用及索引

    MongoDB高可用 主从模式(弃用) 使用复制集(replicaSet)在复制集中,有且只有一个主节点(prim...

网友评论

      本文标题:MongoDB 复制集副本节点成员

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