副本集成员状态


副本集的每个成员都有一个状态,反映了它在集合中的配置情况。

数字

名称

状态描述

0

STARTUP

还不是任何集合的活动成员。所有的成员启动在该状态。在STARTUP状态mongod解析副本集配置文档。

1

PRIMARY

处于PRIMARY状态的成员是唯一能接受写操作的成员。

2

SECONDARY

处于SECONDARY状态的成员复制数据存储。数据可用于读,尽管可能比较旧。

3

RECOVERING

可以选举。成员要么实施启动自检测,或完成回滚或重新同步的转换。

5

STARTUP2

成员加入了集合,正运行初始化同步。

6

UNKNOWN

成员的状态,正如从集合的另一个成员中所看到的,未知。

7

ARBITER

仲裁不复制数据,而仅仅参与选举。

8

DOWN

该成员,正如从集合的立即你跟一个成员所见,不可达。

9

ROLLBACK

该成员正在实施回滚。数据不可读。

10

REMOVED

成员曾今在副本集但随后被移除。


状态


核心状态


PRIMARY

处于PRIMARY状态的成员接受写操作。一个副本集每次最多只有一个主成员。在一次选举后,一个SECONDARY状态成员成为主成员。处于PRIMARY状态的成员有资格选举。


SECONDARY

处于SECONDARY状态的成员复制主成员的数据集合,并可以被配置为接受读操作。辅助成员有资格在选举中投票,如果主成员不可用,会被选举为PRIMARY状态。


ARBITER

处于ARBITER状态的成员不复制数据,也不接受写操作。它们有资格选举,仅仅存在于选举中决胜负。如果集合要么有大量的成员,并能够参与决胜选举,否则副本集应该只有一个成员处于ARBITER状态。在任何副本集中最多只有一个仲裁被配置。

查看副本集成员了解更多关于核心状态的信息。


其他状态


STARTUP

副本集的每个成员以STARTUP状态启动。Mongod然后加载成员的副本集配置,成员的状态转化为STARTUP2。在STARTUP状态的成员没有资格选举,因为它们不被人为是任何副本集的成员。


STARTUP2

一旦mongod加载成员配置完成,副本集的每个成员就进入STARTUP2状态,在此时它开始成员副本集的一个活动成员。成员然后决定是否需要初始化同步。如果一个成员开始初始化同步,成员保持STARTUP2状态直到所有数据拷贝完成所有索引创建完成。之后,成员转换为RECOVERING状态。


RECOVERING

当副本集成员不准备接受读取时,它进入RECOVERING状态。RECOVERING状态发生在正常操作期间,不必显示一个错误条件。处于RECOVERING状态的成员有资格在选举中投票,但是没有资格进入PRIMARY状态。

在复制足够的数据给客户端所需读取数据的一致性视图,成员便从RECOVERING状态转为SECONDARY状态。在RECOVERING和SECONDARY状态之间的唯一区别是,RECOVERING阻止客户端读取,SECONDARY运行读取。SECONDARY状态并不保证主成员数据陈旧化。

关于负载,一个辅助成员可能会远远落后于副本集的其他成员,以至于它可能需要重新同步到副本集。当这种情况发生时,成员进入RECOVERING状态,并需要手工干预。


错误状态

处于错误状态的成员不能选举。


UNKNOWN

从没交流状态信息到副本集的成员会处于UNKNOWN状态。


DOWN

丢失到副本集连接的成员被集合的剩余成员看作为DOWN状态。


REMOVED

从副本集移除的成员进入REMOVED状态。当成员进入REMOVED状态,日志将会标记replset REMOVED消息事件。


ROLLBACK

当副本集在选举中替换掉主成员,旧的主成员可能包含不会复制到辅助成员的文档。在这种情况下,旧的主成员反转这些写操作。在回滚期间,成员将保持ROLLBACK状态。


FATAL

处于FATAL状态的成员触发了一个不可恢复错误。成员必需关闭并重启,可能还需要重新同步。

MongoDB副本集成员状态相关推荐

  1. 小丸子学MongoDB系列之——部署MongoDB副本集

    1.以副本集的方式启动mongodb实例 1.1 创建副本集目录 [mgousr01@vm1 ~]$ mkdir -p mongorep/{mg17/{bin,conf,data,logs,pid}, ...

  2. MongoDB副本集的部署与操作

    一.实验综述 1.实验目的及要求 (1)了解MongoDB副本集 (2)熟悉MongoDB副本集成员 (3)掌握MongoDB副本集部署 (4)掌握MongoDB副本集操作 (5)理解副本集机制 实验 ...

  3. MongoDB - 副本集简介

    简介 在 MongoDB 中,副本集指的是一组 MongoDB 服务器实例掌管同一个数据集,实例可以在不同的机器上. 其中一个用于处理写操作的是主节点(Primary),还有多个用于保存主节点的数据副 ...

  4. (2)MongoDB副本集自动故障转移原理(含客户端)

    前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的副本集均在主节点读写,辅助节点冗余部署,形成高可用和备份,具备自动故障转移能力. 集群心跳保活 ...

  5. mongodb副本集_设置MongoDB副本集分为4个步骤

    mongodb副本集 介绍 在详细介绍配置MongoDB副本集之前,让我简要介绍一下它们: 副本集是Mongodb数据库提供的功能,可实现高可用性和自动故障转移. 它是一种传统的主从配置,但具有自动故 ...

  6. 设置MongoDB副本集分为4个步骤

    介绍 在详细介绍配置MongoDB副本集之前,让我简要介绍一下它们: 副本集是Mongodb数据库提供的功能,可实现高可用性和自动故障转移. 它是一种传统的主从配置,但具有自动故障转移功能. 基本上, ...

  7. MongoDB 副本集管理

    版本:3.6 一.以单机模式启动成员节点 有时候出于维护的需要,需要以单机模式启动某个节点而不是一个副本集成员身份. 1).首先查询服务器命令行参数 db.serverCmdLineOpts() 2) ...

  8. MongoDB 副本集的相关概念【转】

    一.副本集基本概念 副本集(replica set) MongoDB的replica set是一个mongod进程实例簇,数据在这个簇中相互复制,并自动进行故障切换. MongoDB的数据库复制增加了 ...

  9. MongoDB副本集(Replica Sets)搭建教程

    MongoDB副本集(Replica Sets)搭建教程 最近在生产环境下部署公司项目.由于项目中有使用到MongoDB,所以参考网上的博客,在服务器上进行搭建MongoDB副本集.今天打算将其记录成 ...

最新文章

  1. 最新语义视觉SLAM综述:面向应用的移动机器人自主导航解决方案
  2. Angular list列表绑定的一个例子
  3. mybatis-generator-gui 如何exe化
  4. php日历排班表,日历排班表软件下载
  5. SpringMVC架构
  6. enctype=multipart/form-data的表单无法获取表单中除了type=file以外的其他参数 commons-fileupload 获取除file外其他参数...
  7. 21_在线支付原理与实现
  8. PHP之 直播开发后端需要做什么——准备工作
  9. JAVAME 还有钱途么?
  10. IF:4+ 铁代谢和免疫相关基因标记预测三阴性乳腺癌的临床结局和分子特征
  11. iOS App Crash 防护框架之 MKCrashGuard
  12. 微信小程序-JavaScript 3DES对称加密算法加密使用
  13. 点亮一盏灯,温暖一个梦
  14. Java打开jnlp
  15. 根据 Excel 数据表的内容和 Word 模板文件,批量生成 Word 文档
  16. 零死角玩转stm32中级篇2-IIC总线
  17. 小虎电商浏览器:多多打单电子面单怎么开通
  18. 微信开发-微信公共账号申请与接入(1)
  19. 齐岳DSPE-mPEG2000|二硬脂酸磷脂酰乙醇胺-聚乙二醇2000
  20. Vue3 中还处在实验性阶段 Suspense 是个啥?

热门文章

  1. iOS 文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等)...
  2. 《SaaS架构设计》试读:前 言
  3. leetCode 6. ZigZag Conversion 字符串 (上传费劲)
  4. Retrofit+Rxjava+OkHttp
  5. 【MySql】MySql存储,游标,循环的简单使用
  6. 《JAVA与模式》之装修者模式
  7. 配置gitlab环境实现代码管理及Web Hook测试和ldap认证
  8. MySQL行锁 表锁理解
  9. python webdriver脚本例子_Selenium webdriver添加cookie实现过程详解
  10. var _ biz.GreeterRepo = (*greeterRepo)(nil)的总结