Mongodb版本升级

MongoDB版本控制mongodb

一、稳定版本测试

MongoDB的版本的形式X.Y.Z在那里X.Y 指的是一个版本系列或开发系列Z 指修订/补丁号。spa

若是Y是偶数,则X.Y指发布系列;例如, 4.0发行系列和4.2发行系列。发布系列 稳定且适合生产。版本控制

若是Y是奇数,则X.Y指一个开发系列;例如, 4.1开发系列和4.3开发系列。开发系列仅用于测试而不是生产。code

例如,在MongoDB版本中4.0.12,4.0指的是发行系列,而.12指的是修订版。server

最新产品blog

在发布一系列变化(例如4.0到4.2)一般标志着引进可能破坏向后兼容的新功能。进程

补丁版本开发

更改版本号(如4.0.11对4.0.12)通常标注错误修复和向后兼容的改变的释放。get

驱动程序版本

MongoDB的版本编号系统与MongoDB驱动程序使用的系统不一样

 

二、 MongoDB版本升级

mongodb的稳定版本所有为偶数,例如:4.0、4.2

 

mongoDB的升级必须是相邻版本升级,不能跳版本升级。例如:3.2->3.4->3.6,不能3.2直接升级3.6,这是由于相邻版本会有兼容,若是跳版本升级很容易出问题。

 

三、升级单实例

步骤:

一、确认数据文件版本

二、安装新版本

三、替换老版本

四、更新数据文件版本

 

3.一、链接mongodb确认版本:

rs0:PRIMARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

featureCompatibilityVersion 字段可看到版本号

 

3.二、安装新版本:

下载对应的新版本安装包,安装新目录

此处安装省略

 

3.三、启动新版本替换老版本

[root@KELL ~]# kill -9 26181; mongod -f /usr/local/mongodb/data/mdb1.conf  
about to fork child process, waiting until server is ready for connections.
forked process: 31107
child process started successfully, parent exiting

 

查看进程状态

[root@KELL ~]# ps -ef | grep mongo

 

3.四、更新新版本数据文件:

> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : { "version" : "4.2" }, "ok" : 1 }   #查看兼容性版本
> db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )   #修改兼容性版本
{ "ok" : 1 }
> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{ "featureCompatibilityVersion" : { "version" : "4.4" }, "ok" : 1 }

 

到此升级就完成了。

 

集群升级步骤

一、先升级从节点,从节点所有升级完毕在升级主节点

二、主节点升级,先把主节点降为从节点,而后升级

使用并使用rs.stepDown()命令让主节点降级,集群会选举出新的节点做为主节点。

rs0:PRIMARY> rs.stepDown()
{
        "ok" : 1,
        "$clusterTime" : {
                "clusterTime" : Timestamp(1598524885, 1),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        },
        "operationTime" : Timestamp(1598524885, 1)
}
rs0:SECONDARY>

 

更新完成,执行的维护操做必定是在业务低峰期执行,以避免影响到业务。