MongoDB副本集成员状态

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

副本集成员状态


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

数字

名称

状态描述

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状态的成员触发了一个不可恢复错误。成员必需关闭并重启,可能还需要重新同步。



















本文转自UltraSQL51CTO博客,原文链接: http://blog.51cto.com/ultrasql/1663181,如需转载请自行联系原作者


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
3月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
201 5
|
4月前
|
存储 NoSQL MongoDB
MongoDB 复制(副本集)
10月更文挑战第17天
62 2
MongoDB 复制(副本集)
|
3月前
|
存储 NoSQL MongoDB
【赵渝强老师】MongoDB复制集中的成员
MongoDB复制集通常由一个主库和两个从库组成,可选添加仲裁者。主库负责所有写操作并记录Oplog日志,从库异步同步主库的Oplog日志并应用操作。仲裁者不存储数据,主要用于保证复制集中成员数量为奇数,参与选举投票。视频讲解详见B站链接。
|
5月前
|
存储 NoSQL Shell
MongoDB复制(副本集)总结
这篇文章是关于MongoDB副本集的总结,包括复制原理、设置副本集、案例分析等内容。
61 1
|
6月前
|
NoSQL MongoDB Windows
MongoDB 读写分离——Windows MongoDB 副本集配置
MongoDB 读写分离——Windows MongoDB 副本集配置
119 0
|
9月前
|
监控 NoSQL MongoDB
【MongoDB 专栏】MongoDB 的副本集故障转移与恢复
【5月更文挑战第11天】MongoDB的副本集是高可用性关键,提供数据冗余和自动故障转移。由主节点和从节点组成,主节点处理写操作,从节点同步数据。当主节点故障,副本集通过选举产生新主节点,确保服务不间断。故障转移涉及节点优先级和数据同步状态的考量。恢复阶段解决数据不一致,重点包括节点部署监控、数据同步策略、选举机制和备份恢复计划。网络延迟和大规模数据可能带来挑战,需优化网络、性能调优和定期演练。随着技术进步,副本集的故障转移与恢复将更高效、智能,保障数据安全,支撑业务系统的稳定运行。
411 3
【MongoDB 专栏】MongoDB 的副本集故障转移与恢复
|
9月前
|
NoSQL MongoDB 数据库
国内唯一 阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
阿里云连续第五年斩获MongoDB合作伙伴奖项,也是唯一获此殊荣的中国云厂商。一起学习MongoDB副本集的选举机制以及可能会出现的特殊情况。
国内唯一 阿里云荣膺MongoDB“2024年度DBaaS认证合作伙伴奖”
|
8月前
|
存储 监控 NoSQL
MongoDB 副本集:构建可靠的数据备份与高可用性系统
MongoDB 副本集:构建可靠的数据备份与高可用性系统
149 0
|
NoSQL MongoDB
MongoDB分片+副本集高可用集群的启停步骤
MongoDB分片+副本集高可用集群的启停步骤
326 0
|
9月前
|
监控 NoSQL 算法
【MongoDB】 MongoDB的副本集是什么?
【4月更文挑战第1天】【MongoDB】 MongoDB的副本集是什么?