签到成功

知道了

CNDBA社区CNDBA社区

MongoDB 4.4.13 升级到 4.4.14 操作手册

2022-05-11 15:00 1847 0 原创 MongoDB
作者: dave

1 MongoDB 升级说明


在之前的博客中我们了解了MongoDB的版本发布规则。

http://www.cndba.cn/cndba/dave/article/107989

MongoDB 从5.0 开始 版本 命名规则发生改变
https://www.cndba.cn/dave/article/107951

在不同的版本中,都会删除、添加一些命令、方法、参数。 这个在每个版本的Release notes
中有详细的说明。

有时,我们为了解决某些bug,或者想利用新版本的某些特性,那么就需要升级MongoDB的版本。

在MongoDB 5.0 之前,版本号由3个数字位组成:X.Y.Z。

http://www.cndba.cn/cndba/dave/article/107989

  1. X.Y是 发行版本序列号 或者 开发版本序列号;
  2. Z是补丁号 或者 修订号。

因此,我们对MongoDB的升级也就涉及2个级别:

  1. 大版本号的升级
    就是升级X.Y。 MongoDB 不支持跨大版本的升级。 比如从3.6 升级到4.4 是不允许的,必须一级一级升级:3.6  4.0 4.2  4.4。 对于大版本的升级,除了MongoDB 软件之外,还需要注意检查Driver 的兼容性。
  2. 小版本升级
    就是升级Z 的序列号。 这个直接停止实例,替换mongod 文件即可。

因为从v4.4 开始,MongoDB tools和mongosh 都是需要独立部署的,所以只需要替换mongo,mongod,mongos 三个文件即可。

MongoDB 4.4 以后版本安装Database Tools 工具
https://www.cndba.cn/dave/article/107952http://www.cndba.cn/cndba/dave/article/107989

MongoDB Shell (mongosh) 工具说明
https://www.cndba.cn/dave/article/107986http://www.cndba.cn/cndba/dave/article/107989

2 升级操作示例


我们这里演示从4.4.13 升级到4.4.14。因为我们这里的环境是Sharded Cluster,所以需要在每个shard 节点逐步进行替换。

http://www.cndba.cn/cndba/dave/article/107989

2.1 secondary 节点执行

2.1.1 下载新文件

从官网下载最新的tar 文件,并解压缩:

[dave@www.cndba.cn_3 bin]# pwd
/data/mongodb-linux-x86_64-rhel70-4.4.14/bin
[dave@www.cndba.cn_3 bin]# ll
total 197708
-rwxr-xr-x 1 root root    15205 May  4 22:09 install_compass
-rwxr-xr-x 1 root root 53690928 May  4 22:21 mongo
-rwxr-xr-x 1 root root 83353608 May  4 22:40 mongod
-rwxr-xr-x 1 root root 65380944 May  4 22:40 mongos
[dave@www.cndba.cn_3 bin]#

2.1.2 关闭mongo 实例

这里必须正常关闭mongo 示例:http://www.cndba.cn/cndba/dave/article/107989

use admin
db.shutdownServer()

如果节点上有多个shard,每个shard 都要正常关闭,因为我们这里使用supervisor 管理的,直接使用supervisorctl 命令关闭。http://www.cndba.cn/cndba/dave/article/107989

Linux 进程管理工具 supervisor
https://www.cndba.cn/dave/article/107973

[dave@www.cndba.cn_3 bin]# supervisorctl stop all
shard2: stopped
shard3: stopped
configdb: stopped
shard1: stopped
[dave@www.cndba.cn_3 bin]#
[dave@www.cndba.cn_3 bin]# supervisorctl status all
configdb                         STOPPED   May 11 02:06 PM
mongos                           STOPPED   May 11 02:06 PM
shard1                           STOPPED   May 11 02:06 PM
shard2                           STOPPED   May 11 02:06 PM
shard3                           STOPPED   May 11 02:06 PM
[dave@www.cndba.cn_3 bin]#

2.1.3 更新文件

删除旧文件:http://www.cndba.cn/cndba/dave/article/107989

[dave@www.cndba.cn_3 bin]# pwd
/usr/local/mongodb/bin
[dave@www.cndba.cn_3 bin]# ll
total 325212
-rwxr-xr-x 1 root root 13997360 Apr 30 11:31 bsondump
-rwxr-xr-x 1 root root    15205 Mar  2 23:24 install_compass
-rwxr-xr-x 1 root root 53691040 Mar  2 23:35 mongo
-rwxr-xr-x 1 root root 83347720 Mar  2 23:55 mongod
-rwxr-xr-x 1 root root 16769896 Apr 30 11:31 mongodump
-rwxr-xr-x 1 root root 16425456 Apr 30 11:31 mongoexport
-rwxr-xr-x 1 root root 17310776 Apr 30 11:31 mongofiles
-rwxr-xr-x 1 root root 16701752 Apr 30 11:31 mongoimport
-rwxr-xr-x 1 root root 17151264 Apr 30 11:31 mongorestore
-rwxr-xr-x 1 root root 65380248 Mar  2 23:44 mongos
-rwxr-xr-x 1 root root 16268112 Apr 30 11:31 mongostat
-rwxr-xr-x 1 root root 15931944 Apr 30 11:31 mongotop
[dave@www.cndba.cn_3 bin]# rm -rf install_compass mongo mongod mongos

复制新文件:http://www.cndba.cn/cndba/dave/article/107989

[dave@www.cndba.cn_3 bin]# pwd
/data/mongodb-linux-x86_64-rhel70-4.4.14/bin
[dave@www.cndba.cn_3 bin]# ls
install_compass  mongo  mongod  mongos
[dave@www.cndba.cn_3 bin]# cp * /usr/local/mongodb/bin/
[dave@www.cndba.cn_3 bin]#

验证:

[dave@www.cndba.cn_3 bin]# ll
total 325224
-rwxr-xr-x 1 root root 13997360 Apr 30 11:31 bsondump
-rwxr-xr-x 1 root root    15205 May 11 14:10 install_compass
-rwxr-xr-x 1 root root 53690928 May 11 14:10 mongo
-rwxr-xr-x 1 root root 83353608 May 11 14:10 mongod
-rwxr-xr-x 1 root root 16769896 Apr 30 11:31 mongodump
-rwxr-xr-x 1 root root 16425456 Apr 30 11:31 mongoexport
-rwxr-xr-x 1 root root 17310776 Apr 30 11:31 mongofiles
-rwxr-xr-x 1 root root 16701752 Apr 30 11:31 mongoimport
-rwxr-xr-x 1 root root 17151264 Apr 30 11:31 mongorestore
-rwxr-xr-x 1 root root 65380944 May 11 14:10 mongos
-rwxr-xr-x 1 root root 16268112 Apr 30 11:31 mongostat
-rwxr-xr-x 1 root root 15931944 Apr 30 11:31 mongotop
[dave@www.cndba.cn_3 bin]#

启动节点上的实例:

[dave@www.cndba.cn_3 bin]# supervisorctl start all
shard2: started
shard3: started
shard1: started
configdb: started
mongos: started
[dave@www.cndba.cn_3 bin]# supervisorctl status all
configdb                         RUNNING   pid 5505, uptime 0:01:12
mongos                           RUNNING   pid 5506, uptime 0:01:12
shard1                           RUNNING   pid 5504, uptime 0:01:12
shard2                           RUNNING   pid 5502, uptime 0:01:12
shard3                           RUNNING   pid 5503, uptime 0:01:12
[dave@www.cndba.cn_3 bin]#

查看版本:

[dave@www.cndba.cn_3 bin]# mongo_conn 27018
MongoDB shell version v4.4.14
shard1:SECONDARY> db.version()
4.4.14
shard1:SECONDARY>

2.2 primary 节点执行

主节点操作和从节点操作是一样的,如果不考虑对业务的影响,可以直接停机进行更新。 替换时间也很短,如果为了避免停机的影响,可以先对primary 节点进行降级,变成从节点后在进行操作。

MongoDB 4.4 副本集 维护步骤 说明
https://www.cndba.cn/dave/article/107981

[dave@www.cndba.cn_2 ~]# mongo_conn 27018
MongoDB shell version v4.4.13
shard1:PRIMARY> rs.stepDown(300)

然后进行停机维护,操作同步同上节。http://www.cndba.cn/cndba/dave/article/107989

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2283
    原创
  • 3
    翻译
  • 579
    转载
  • 196
    评论
  • 访问:8176709次
  • 积分:4428
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ