在Amazon Linux上将MongoDB升级(从3.0到3.4)

环境

版本

$ cat /etc/system-release
Amazon Linux AMI release 2016.09

步骤 (bù

准备好

版本确认

确认MongoDB的版本。

$ mongo --version

如果想将当前版本从3.0升级到最新版本3.4,由于无法直接进行3.0→3.4的一次性升级,所以需要分成两个步骤进行升级,即先将3.0升级到3.2,再将3.2升级到3.4。

以下是参考:

3.4独立升级

备份数据

为了以防万一,进行备份。

$ mongodump --out mongodump_20170406

停止访问MongoDB的服务

为了预防起见,停止访问相应的MongoDB服务。

升级(从3.0到3.2)

停止mongod。

$ sudo service mongod stop

创建repo文件。

$ sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo

以以下方式进行描述和保存。

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

由于 baseurl 根据操作系统而异,因此对于非 Amazon Linux 系统,需要检查以下内容并将其更改为相应的 URL。

https://repo.mongodb.org的内容请提供中文语义化的替换文本。

将旧的 Repo 文件的 enabled 改为 0。

$ sudo vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=0

确认一下 MongoDB3.2 是否包含在可升级的软件包中。

$ yum check-update

执行更新。

$ sudo yum update

完成更新后,启动mongod。

$ sudo service mongod start

确认版本。

$ mongo --version
MongoDB shell version: 3.2.12

将MongoDB升级至3.2到3.4版本。

停止mongod。

$ sudo service mongod stop

创建repo文件。

$ sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo

以以下方式进行描述和保存。

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1   

将旧Repo文件的enabled值更改为0。

$ sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=0

请确认MongoDB 3.4是否包含在可升级的软件包中。

$ yum check-update

进行更新。

$ sudo yum update

完成更新后,启动mongod。

$ sudo service mongod start

确认版本。

$ mongo --version

MongoDB shell version v3.4.3
git version: f07437fb5a6cca07c10bafa78365456eb1d6d5e1
OpenSSL version: OpenSSL 1.0.0-fips 29 Mar 2010
allocator: tcmalloc
modules: none
build environment:
    distmod: amazon
    distarch: x86_64
    target_arch: x86_64