MongoDB Upgrade a Replica Set to 3.4

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

前言

Part1:写在最前

本文讲解MongoDB副本集的升级方法,以及注意事项。本文的环境为MongoDB3.2升级MongoDB3.4,低版本升级3.4的话需要优先升级到3.2版本才可以。如果发现3.4版本与应用不兼容,可以降级到3.2。


实战

Part1:准备

在开始升级之前,请参阅MongoDB 3.4文档中的兼容性更改,以确保您的应用程序和部署与MongoDB 3.4兼容。在开始升级之前解决部署中的不兼容问题。

升级MongoDB之前,请先在临时环境中测试应用程序,以确保升级顺利进行。



Part2:降级限制

升级到3.4后,您不能降级到3.2.7或更早版本。您只能降级到3.2.8或更高版本。

注意:避免重新配置包含不同MongoDB版本成员的副本集,因为MongoDB版本中的权限验证规则可能会有所不同。



Part3:低版本升级先决条件

要将副本集升级到3.4,所有副本集成员必须运行版本3.2要从早期的MongoDB版本升级副本集,请先将副本集的所有成员升级到最新的3.2系列版本,然后按照以下步骤从MongoDB 3.2升级到3.4



Part4:低版本升级先决条件

要将副本集升级到3.4,所有副本集成员必须运行版本3.2要从早期的MongoDB版本升级副本集,请先将副本集的所有成员升级到最新的3.2系列版本,然后按照以下步骤从MongoDB 3.2升级到3.4



Part5:先升级副本中的一个Secondary

关闭mongod实例,并用3.4二进制文件的bin目录代替3.2二进制文件的bin目录。

重新启动成员并等待成员恢复到Secondary状态,然后再升级下一个Secondary成员。要检查成员的状态,请在mongo shell中发出rs.status()



Part6:stepdown副本集的Primary

mongo shell连接到Primary服务器并使用rs.stepDown()来降级主服务器并强制其他节点选举新的Primary服务器。



Part7:升级Primary

rs.status()显示原Primary节点已经变为Secondary,新的PRIMARY已经被选举出来的时候,开始升级原Primary节点:

关闭数据库,并用3.4二进制文件的bin目录代替3.2二进制文件的bin目录。

启动原Primary节点。



Part8:启用不向下兼容的3.4新功能

此时,您可以运行3.4版本,而不使用与3.2不兼容的3.4功能。

要启用这些3.4功能,请将功能兼容版本设置为3.4

启用这些不向下兼容的功能会使降级过程复杂化。有关详细信息,请参阅删除3.4不兼容的功能。

 

建议在升级后,让应用先不使用3.4这些功能一段时间,以确保稳定性。当您确认应用稳定运行,且需要3.4版本这些不向下兼容的功能时,利用如下命令启用这些功能:

主节点运行:

1
db.adminCommand({ setFeatureCompatibilityVersion: "3.4"  } )




 本文转自 dbapower 51CTO博客,原文链接:http://blog.51cto.com/suifu/1947035,如需转载请自行联系原作者

相关实践学习
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
相关文章
|
1月前
|
存储 NoSQL MongoDB
MongoDB如何创建数据库
MongoDB如何创建数据库
|
2天前
|
存储 NoSQL 关系型数据库
MongoDB非关系型数据库实战
【5月更文挑战第6天】MongoDB,流行的NoSQL数据库,以其灵活的数据模型和高性能备受青睐。本文介绍了MongoDB的基础,包括文档型数据库特性、安装配置、数据操作。通过电商订单管理的实战案例,展示了MongoDB在处理复杂数据结构和大规模数据时的优势,适用于电商、游戏、视频直播等场景。MongoDB的索引、全文搜索和地理空间功能进一步增强了其实用性。注意性能优化和扩展性以确保系统稳定性和可靠性。
|
9天前
|
弹性计算 NoSQL Shell
一键安装 MongoDB 数据库脚本
【4月更文挑战第29天】
14 4
|
15天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
18天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
152 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
29天前
|
存储 SQL NoSQL
mongodb数据库使用
mongodb数据库使用
|
1月前
|
存储 SQL NoSQL
【MongoDB】如何区分MongoDB和关系型数据库?
【4月更文挑战第1天】【MongoDB】如何区分MongoDB和关系型数据库?
|
1月前
|
存储 NoSQL 物联网
【MongoDB】MongoDB 数据库概述
【4月更文挑战第1天】【MongoDB】MongoDB 数据库概述
【MongoDB】MongoDB 数据库概述
|
2月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】