`

mongodb replicaset 突发事件怎么办

阅读更多
  模拟最差情况

1.假如现在replica set中一共就2个节点,一个是primary member,另外一个是second    

   member
 
  如果primary出现故障,(not reachable/healthy),这时候,second依旧是seconde,
 
  只能提供读的操作。如果重启primary member,一般情况下是按照最新数据的member作为

  primary,这个时候这个节点依旧可以作为primary member使用。replica set恢复正常。


  如果seconde出现故障,(not reachable/healthy),这时候,primary member自动降级为

  seconde member,replica set中不存在primary member,无法提供写操作,数据会丢失。

  如果seconde故障时间比较短(oplog相关),重启后,最好指定

  config={_id:'shard1',members:[
                     {_id:1,host:'127.0.0.1:10001'},
                     {_id:0,host:'127.0.0.1:10002',priority:1}]
  }

  10002作为你需要的最新数据为primary member,这个时候,replica set恢复正常。


  如果人为rs.remove()掉seconde member,primary member依旧不变

  如果人为rs.remove()掉primary member,seconde member依旧不变。

 
  如果seconde故障时间比较短(oplog相关):

  这句话的意思是,replica set master和slave之间的复制,是采取oplog读操作日志

  的方式进行复制数据的。所以短时间这个日志比较小的情况下,启动slave,加上

  --fastsync 启动参数,可以再原来的replication 复制的log基础上快速启动,并syn

  同步最新的master数据,否则,master上的oplog日志上一轮如果结束了,这个时候,

  slave 从master获取oplog的时候,发现和master的数据相差太远,更不上master的更新

  了,这个时候,seconde节点不能正常加入replica set中,需要删除seconde数据,进行

  冷copy master数据,然后再进行同步。

 
 
2.最少replica set中至少有2个member(primary 、seconde),一个Arb member。

  这种情况,Arb member意义不大,最差情况和上边1一样,导致replica set 瘫痪,

  所以,最有意义的配置应该是3个member(1primary、2seconde),一个 Arb member。




分享到:
评论

相关推荐

    k8s 安装 mongodb 分片(Sharding)+ 副本集(Replica Set)

    k8s 安装 MongoDB 分片(Sharding)+ 副本集(Replica Set) k8s 安装 MongoDB 分片(Sharding)+ 副本集(Replica Set)是结合 Kubernetes(k8s)和 MongoDB 实现高可用性和高性能的解决方案。本解决方案通过使用 ...

    MongoDB的replica set的部署,检测优化,

    MongoDB的复制集(Replica Set)是一种高可用性架构,用于确保数据的冗余和容错性。在MongoDB中,复制集是由多个具有相同数据副本的节点组成,其中一个是主节点(Primary),其余是次级节点(Secondary)。主节点...

    mongodb replica set(副本集)设置步骤

    MongoDB的副本集(Replica Set)是一种高可用性解决方案,它通过在多个节点之间复制数据来确保数据的冗余和容错性。在MongoDB中,副本集由一组 MongoDB实例组成,包括一个主节点(Primary)和多个从节点...

    mongodb Replica Sets +Sharding高可用集群搭建

    在大型分布式系统中,为了实现高可用性和水平扩展,MongoDB提供了两种关键特性:副本集(Replica Sets)和分片(Sharding)。这篇博客将探讨如何搭建MongoDB的副本集和分片集群。 首先,我们来理解一下MongoDB的...

    docker-mongodb-replicaset:docker-mongodb-replicaset

    信息 该文件描述了如何在 Docker 上运行 Mongo DB Replica Set。 我们假设主机上的 ...$ cd docker-mongodb-replicaset $ docker build -t mongo . 使用副本集启动 docker 容器 $ ./start.sh 使用 bash 再运行一个

    mongodb replica set 配置高性能多服务器详解

    MongoDB的Replica Set是一种高可用性和数据冗余的解决方案,它可以确保在多个服务器之间复制数据,从而提高系统的性能和容错能力。与Master-Slave模式不同,Replica Set可以自动实现故障转移和恢复,增加了系统的...

    mongodb replica set 添加删除节点的2种方法

    MongoDB的复制集(Replica Set)是一种高可用性解决方案,它可以确保数据的冗余和在主节点故障时提供自动故障转移。复制集通常由多个成员组成,包括一个主节点(Primary)、一个或多个次级节点(Secondary)以及可选...

    mongodb_replica

    - 其中,`username`和`password`是数据库认证信息,`host1:port1,host2:port2`是副本集成员的地址,`dbname`是数据库名,`replicaSet=rs0`指定了副本集名称。 4. **读写策略** - SpringBoot 默认会将所有操作发送...

    MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    由于历史原因,某个MongoDB副本集只有一主一从双节点,无法满足自动故障转移要求,需要配置一个仲裁节点。 原有节点192.168.10.20:27017,192.168.10.21:27017,现在准备在20上配置一个新节点27018当做仲裁 在当前主...

    Mongodb的ReplicaSets+Sharding架构(window篇)

    MongoDB的Replica Sets+Sharding架构是大数据时代下应对高可用性和可扩展性需求的重要解决方案。本篇文章将深入探讨这两个关键特性在Windows环境下的应用。 **副本集(Replica Sets)** MongoDB的副本集是一种高可用...

    MongoDB集群测试代码

    在这个“MongoDB集群测试代码”中,我们关注的是MongoDB的两个关键特性:副本集(Replica Set)和分片(Sharding),以及如何通过配置文件和脚本来进行集群的设置与测试。 1. **副本集(Replica Set)**: - 副本...

    Mongodb_集群分片部署

    Mongodb_集群分片部署 Mongodb_集群分片部署 Mongodb_集群分片部署

    K8s 部署 MongoDB(副本集)

    mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式, 三种模式各有优劣,适用于不同的场合,属Replica set应用最为广泛,主从模式现在用的较少,sharding模式最为完备,但配置维护较为复杂 ...

    C#开发的Mongodb集群自动部署工具

    4. MongoDB Replica Set 自动部署.exe和MongDB Replica Set 自动部署.pdb:这是实际的自动部署程序和其对应的调试信息文件。exe文件是可执行程序,可以直接运行在Windows环境下,通过SSH连接到Linux服务器并执行部署...

    mongodb-replica-set:在本地运行MongoDB Atlas进行测试

    在本地运行MongoDB Atlas进行测试先决条件Java 8+ 码头工人该图显示了本地和远程docker对plicateSetNumber的支持plicateSetNumber 本地Docker主机本地Docker主机从容器内部运行测试并映射Docker套接字远程Docker守护...

    mongodb-replicaset:示例副本集com mongodb

    Passo a passo Crie os arquivos .conf符合示例key-file com或abaixo:$ openssl rand -base64 741 > /var/mongodb/pki/m103-keyfile$ chmod 400 /var/mongodb/pki/m103-keyfile 可以replica-set进行配置。...

Global site tag (gtag.js) - Google Analytics