MongoDB upgrade from 3.2 to 3.4, the manual way

This is a quick tutorial on upgrading your existing mongod binary from \mongod 3.2 to mongod 3.4.

1. verifying the version I am currently running
[xxxx ~]$ mongod --version
db version v3.2.10
git version: 79d9b3ab5ce20f51c272b4411202710a082d0317
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64
2. stop the mongod on the server and issue kill of the processes
[xxxx ~]# ps -ef | grep mongod
root      4870 25188  0 14:17 pts/0    00:00:00 grep --color=auto mongod
root     14222     1  0 Apr25 ?        08:55:52 mongod --port 30000 --dbpath /data/mongodb/arb --logpath /data/mongodb/arblog/arb.log --replSet avlrepdev --fork
root     14247     1  0 Apr25 ?        08:51:16 mongod --port 30001 --dbpath /data/mongodb/arb1 --logpath /data/mongodb/arblog/arb1.log --replSet avlrepdev --fork
[xxxx ~]# kill 14222
[xxxx ~]# kill 14247
[xxxx ~]# ps -ef | grep mongod
root      4878 25188  0 14:18 pts/0    00:00:00 grep --color=auto mongod

3. Now let's identify the mongodb compoents currently installed on the server
[xxxx ~]# rpm -qa | grep mongodb-org
mongodb-org-tools-3.2.11-1.el7.x86_64
mongodb-org-shell-3.2.11-1.el7.x86_64
mongodb-org-server-3.2.11-1.el7.x86_64
mongodb-org-3.2.11-1.el7.x86_64
mongodb-org-mongos-3.2.11-1.el7.x86_64
4. After we verify these are the components we would like to remove before we proceed with the new installation, we run
[xxxx ~]# yum erase $(rpm -qa | grep mongodb-org)
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.x86_64 0:3.2.11-1.el7 will be erased
---> Package mongodb-org-mongos.x86_64 0:3.2.11-1.el7 will be erased
---> Package mongodb-org-server.x86_64 0:3.2.11-1.el7 will be erased
---> Package mongodb-org-shell.x86_64 0:3.2.11-1.el7 will be erased
---> Package mongodb-org-tools.x86_64 0:3.2.11-1.el7 will be erased
--> Finished Dependency Resolution
mongodb-org/7Server                                                                                                                            | 2.5 kB  00:00:00
mongodb-org/7Server/primary_db                                                                                                                 |  72 kB  00:00:00
rhel-x86_64-server-7                                                                                                                           | 1.5 kB  00:00:00
rhel-x86_64-server-7/updateinfo                                                                                                                | 2.0 MB  00:00:00
rhel-x86_64-server-7/primary                                                                                                                   |  23 MB  00:00:00
rhel-x86_64-server-7-thirdparty-oracle-java                                                                                                    | 1.5 kB  00:00:00
rhel-x86_64-server-extras-7                                                                                                                    | 1.3 kB  00:00:00
rhel-x86_64-server-extras-7/updateinfo                                                                                                         | 107 kB  00:00:00
rhel-x86_64-server-extras-7/primary                                                                                                            | 158 kB  00:00:00
rhel-x86_64-server-optional-7                                                                                                                  | 1.5 kB  00:00:00
rhel-x86_64-server-optional-7/updateinfo                                                                                                       | 1.4 MB  00:00:00

Dependencies Resolved

======================================================================================================================================================================
 Package                                      Arch                             Version                                   Repository                              Size
======================================================================================================================================================================
Removing:
 mongodb-org                                  x86_64                           3.2.11-1.el7                              @mongodb-org                           0.0
 mongodb-org-mongos                           x86_64                           3.2.11-1.el7                              @mongodb-org                            16 M
 mongodb-org-server                           x86_64                           3.2.11-1.el7                              @mongodb-org                            36 M
 mongodb-org-shell                            x86_64                           3.2.11-1.el7                              @mongodb-org                            20 M
 mongodb-org-tools                            x86_64                           3.2.11-1.el7                              @mongodb-org                           129 M

Transaction Summary
======================================================================================================================================================================
Remove  5 Packages

Installed size: 201 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : mongodb-org-3.2.11-1.el7.x86_64                                                                                                                    1/5
  Erasing    : mongodb-org-server-3.2.11-1.el7.x86_64                                                                                                             2/5
  Erasing    : mongodb-org-shell-3.2.11-1.el7.x86_64                                                                                                              3/5
  Erasing    : mongodb-org-mongos-3.2.11-1.el7.x86_64                                                                                                             4/5
  Erasing    : mongodb-org-tools-3.2.11-1.el7.x86_64                                                                                                              5/5
rhel-x86_64-server-7                                                                                                                                      16911/16911
rhel-x86_64-server-extras-7                                                                                                                                   603/603
  Verifying  : mongodb-org-shell-3.2.11-1.el7.x86_64                                                                                                              1/5
  Verifying  : mongodb-org-tools-3.2.11-1.el7.x86_64                                                                                                              2/5
  Verifying  : mongodb-org-mongos-3.2.11-1.el7.x86_64                                                                                                             3/5
  Verifying  : mongodb-org-server-3.2.11-1.el7.x86_64                                                                                                             4/5
  Verifying  : mongodb-org-3.2.11-1.el7.x86_64                                                                                                                    5/5

Removed:
  mongodb-org.x86_64 0:3.2.11-1.el7       mongodb-org-mongos.x86_64 0:3.2.11-1.el7 mongodb-org-server.x86_64 0:3.2.11-1.el7 mongodb-org-shell.x86_64 0:3.2.11-1.el7
  mongodb-org-tools.x86_64 0:3.2.11-1.el7

Complete!
5. Now we can proceed with the installation of mongod 3.4, let's configure repo for 3.4
[xxxx ~]# vi /etc/yum.repos.d/mongodb-org.repo
[xxxx ~]# cat /etc/yum.repos.d/mongodb-org.repo
[mongodbenterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
6. run yum repolist to validate
[xxxx ~]# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id                                                                  repo name                                                                              status
mongodbenterprise/7Server/x86_64                                         MongoDB Enterprise Repository                                                              35
rhel-x86_64-server-7                                                     Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64)                               16,911
rhel-x86_64-server-7-rhscl-1                                             Red Hat Software Collections (RHEL 7 Server x86_64)                                     8,048
rhel-x86_64-server-7-thirdparty-oracle-java                              Oracle Java for RHEL Server (v. 7 64-bit x86_64)                                          306
rhel-x86_64-server-extras-7                                              RHEL Server Extras (v. 7 for 64-bit x86_64)                                               603
rhel-x86_64-server-optional-7                                            RHEL Server Optional (v. 7 64-bit x86_64)                                              12,625
rhel-x86_64-server-supplementary-7                                       RHEL Server Supplementary (v. 7 for 64-bit x86_64)                                        205
repolist: 38,733
7. run yum install 
[xxxx ~]# yum install mongodbenterprise
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
No package mongodbenterprise available.
Error: Nothing to do
[root@msdlva-dsnavl04 yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
repo id                                                                  repo name                                                                              status
mongodbenterprise/7Server/x86_64                                         MongoDB Enterprise Repository                                                              35
rhel-x86_64-server-7                                                     Red Hat Enterprise Linux Server (v. 7 for 64-bit x86_64)                               16,911
rhel-x86_64-server-7-rhscl-1                                             Red Hat Software Collections (RHEL 7 Server x86_64)                                     8,048
rhel-x86_64-server-7-thirdparty-oracle-java                              Oracle Java for RHEL Server (v. 7 64-bit x86_64)                                          306
rhel-x86_64-server-extras-7                                              RHEL Server Extras (v. 7 for 64-bit x86_64)                                               603
rhel-x86_64-server-optional-7                                            RHEL Server Optional (v. 7 64-bit x86_64)                                              12,625
rhel-x86_64-server-supplementary-7                                       RHEL Server Supplementary (v. 7 for 64-bit x86_64)                                        205
repolist: 38,733
[root@msdlva-dsnavl04 yum.repos.d]# yum install mongodb-enterprise
Loaded plugins: langpacks, product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package mongodb-enterprise.x86_64 0:3.4.6-1.el7 will be installed
--> Processing Dependency: mongodb-enterprise-tools = 3.4.6 for package: mongodb-enterprise-3.4.6-1.el7.x86_64
--> Processing Dependency: mongodb-enterprise-shell = 3.4.6 for package: mongodb-enterprise-3.4.6-1.el7.x86_64
--> Processing Dependency: mongodb-enterprise-server = 3.4.6 for package: mongodb-enterprise-3.4.6-1.el7.x86_64
--> Processing Dependency: mongodb-enterprise-mongos = 3.4.6 for package: mongodb-enterprise-3.4.6-1.el7.x86_64
--> Running transaction check
---> Package mongodb-enterprise-mongos.x86_64 0:3.4.6-1.el7 will be installed
---> Package mongodb-enterprise-server.x86_64 0:3.4.6-1.el7 will be installed
--> Processing Dependency: net-snmp for package: mongodb-enterprise-server-3.4.6-1.el7.x86_64
--> Processing Dependency: cyrus-sasl for package: mongodb-enterprise-server-3.4.6-1.el7.x86_64
--> Processing Dependency: libnetsnmpmibs.so.31()(64bit) for package: mongodb-enterprise-server-3.4.6-1.el7.x86_64
--> Processing Dependency: libnetsnmpagent.so.31()(64bit) for package: mongodb-enterprise-server-3.4.6-1.el7.x86_64
--> Processing Dependency: libnetsnmp.so.31()(64bit) for package: mongodb-enterprise-server-3.4.6-1.el7.x86_64
---> Package mongodb-enterprise-shell.x86_64 0:3.4.6-1.el7 will be installed
---> Package mongodb-enterprise-tools.x86_64 0:3.4.6-1.el7 will be installed
--> Running transaction check
---> Package cyrus-sasl.x86_64 0:2.1.26-21.el7 will be installed
--> Processing Dependency: cyrus-sasl-lib(x86-64) = 2.1.26-21.el7 for package: cyrus-sasl-2.1.26-21.el7.x86_64
---> Package net-snmp.x86_64 1:5.7.2-28.el7 will be installed
---> Package net-snmp-agent-libs.x86_64 1:5.7.2-28.el7 will be installed
---> Package net-snmp-libs.x86_64 1:5.7.2-28.el7 will be installed
--> Running transaction check
---> Package cyrus-sasl-lib.x86_64 0:2.1.26-20.el7_2 will be updated
--> Processing Dependency: cyrus-sasl-lib(x86-64) = 2.1.26-20.el7_2 for package: cyrus-sasl-gssapi-2.1.26-20.el7_2.x86_64
--> Processing Dependency: cyrus-sasl-lib(x86-64) = 2.1.26-20.el7_2 for package: cyrus-sasl-plain-2.1.26-20.el7_2.x86_64
---> Package cyrus-sasl-lib.x86_64 0:2.1.26-21.el7 will be an update
--> Running transaction check
---> Package cyrus-sasl-gssapi.x86_64 0:2.1.26-20.el7_2 will be updated
---> Package cyrus-sasl-gssapi.x86_64 0:2.1.26-21.el7 will be an update
---> Package cyrus-sasl-plain.x86_64 0:2.1.26-20.el7_2 will be updated
---> Package cyrus-sasl-plain.x86_64 0:2.1.26-21.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================================
 Package                                         Arch                         Version                                Repository                                  Size
======================================================================================================================================================================
Installing:
 mongodb-enterprise                              x86_64                       3.4.6-1.el7                            mongodbenterprise                          5.9 k
Installing for dependencies:
 cyrus-sasl                                      x86_64                       2.1.26-21.el7                          rhel-x86_64-server-7                        88 k
 mongodb-enterprise-mongos                       x86_64                       3.4.6-1.el7                            mongodbenterprise                           12 M
 mongodb-enterprise-server                       x86_64                       3.4.6-1.el7                            mongodbenterprise                           20 M
 mongodb-enterprise-shell                        x86_64                       3.4.6-1.el7                            mongodbenterprise                           12 M
 mongodb-enterprise-tools                        x86_64                       3.4.6-1.el7                            mongodbenterprise                           61 M
 net-snmp                                        x86_64                       1:5.7.2-28.el7                         rhel-x86_64-server-7                       321 k
 net-snmp-agent-libs                             x86_64                       1:5.7.2-28.el7                         rhel-x86_64-server-7                       704 k
 net-snmp-libs                                   x86_64                       1:5.7.2-28.el7                         rhel-x86_64-server-7                       748 k
Updating for dependencies:
 cyrus-sasl-gssapi                               x86_64                       2.1.26-21.el7                          rhel-x86_64-server-7                        41 k
 cyrus-sasl-lib                                  x86_64                       2.1.26-21.el7                          rhel-x86_64-server-7                       155 k
 cyrus-sasl-plain                                x86_64                       2.1.26-21.el7                          rhel-x86_64-server-7                        38 k

Transaction Summary
======================================================================================================================================================================
Install  1 Package  (+8 Dependent packages)
Upgrade             ( 3 Dependent packages)

Total download size: 107 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/12): cyrus-sasl-2.1.26-21.el7.x86_64.rpm                                                                                                    |  88 kB  00:00:00
(2/12): cyrus-sasl-gssapi-2.1.26-21.el7.x86_64.rpm                                                                                             |  41 kB  00:00:00
(3/12): cyrus-sasl-lib-2.1.26-21.el7.x86_64.rpm                                                                                                | 155 kB  00:00:00
(4/12): cyrus-sasl-plain-2.1.26-21.el7.x86_64.rpm                                                                                              |  38 kB  00:00:00
(10/12): net-snmp-5.7.2-28.el7.x86_64.rpm                                                                                                      | 321 kB  00:00:00
(11/12): net-snmp-agent-libs-5.7.2-28.el7.x86_64.rpm                                                                                           | 704 kB  00:00:00
(12/12): net-snmp-libs-5.7.2-28.el7.x86_64.rpm                                                                                                 | 748 kB  00:00:00
warning: /var/cache/yum/x86_64/7Server/mongodbenterprise/packages/mongodb-enterprise-3.4.6-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID a15703c6: NOKEY
Public key for mongodb-enterprise-3.4.6-1.el7.x86_64.rpm is not installed
(1/5): mongodb-enterprise-3.4.6-1.el7.x86_64.rpm                                                                                               | 5.9 kB  00:00:00
(2/5): mongodb-enterprise-mongos-3.4.6-1.el7.x86_64.rpm                                                                                        |  12 MB  00:00:00
(3/5): mongodb-enterprise-server-3.4.6-1.el7.x86_64.rpm                                                                                        |  20 MB  00:00:01
(4/5): mongodb-enterprise-shell-3.4.6-1.el7.x86_64.rpm                                                                                         |  12 MB  00:00:01
(5/5): mongodb-enterprise-tools-3.4.6-1.el7.x86_64.rpm                                                                                         |  61 MB  00:00:03
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                  18 MB/s | 107 MB  00:00:06
Retrieving key from https://www.mongodb.org/static/pgp/server-3.4.asc
Importing GPG key 0xA15703C6:
 Userid     : "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>"
 Fingerprint: 0c49 f373 0359 a145 1858 5931 bc71 1f9b a157 03c6
 From       : https://www.mongodb.org/static/pgp/server-3.4.asc
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : cyrus-sasl-lib-2.1.26-21.el7.x86_64                                                                                                               1/15
  Updating   : cyrus-sasl-gssapi-2.1.26-21.el7.x86_64                                                                                                            2/15
  Updating   : cyrus-sasl-plain-2.1.26-21.el7.x86_64                                                                                                             3/15
  Installing : cyrus-sasl-2.1.26-21.el7.x86_64                                                                                                                   4/15
  Installing : 1:net-snmp-libs-5.7.2-28.el7.x86_64                                                                                                               5/15
  Installing : 1:net-snmp-agent-libs-5.7.2-28.el7.x86_64                                                                                                         6/15
  Installing : 1:net-snmp-5.7.2-28.el7.x86_64                                                                                                                    7/15
  Installing : mongodb-enterprise-server-3.4.6-1.el7.x86_64                                                                                                      8/15
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
  Installing : mongodb-enterprise-tools-3.4.6-1.el7.x86_64                                                                                                       9/15
  Installing : mongodb-enterprise-shell-3.4.6-1.el7.x86_64                                                                                                      10/15
  Installing : mongodb-enterprise-mongos-3.4.6-1.el7.x86_64                                                                                                     11/15
  Installing : mongodb-enterprise-3.4.6-1.el7.x86_64                                                                                                            12/15
  Cleanup    : cyrus-sasl-plain-2.1.26-20.el7_2.x86_64                                                                                                          13/15
  Cleanup    : cyrus-sasl-gssapi-2.1.26-20.el7_2.x86_64                                                                                                         14/15
  Cleanup    : cyrus-sasl-lib-2.1.26-20.el7_2.x86_64                                                                                                            15/15
  Verifying  : mongodb-enterprise-server-3.4.6-1.el7.x86_64                                                                                                      1/15
  Verifying  : 1:net-snmp-libs-5.7.2-28.el7.x86_64                                                                                                               2/15
  Verifying  : cyrus-sasl-gssapi-2.1.26-21.el7.x86_64                                                                                                            3/15
  Verifying  : cyrus-sasl-plain-2.1.26-21.el7.x86_64                                                                                                             4/15
  Verifying  : mongodb-enterprise-3.4.6-1.el7.x86_64                                                                                                             5/15
  Verifying  : cyrus-sasl-lib-2.1.26-21.el7.x86_64                                                                                                               6/15
  Verifying  : mongodb-enterprise-tools-3.4.6-1.el7.x86_64                                                                                                       7/15
  Verifying  : 1:net-snmp-5.7.2-28.el7.x86_64                                                                                                                    8/15
  Verifying  : mongodb-enterprise-mongos-3.4.6-1.el7.x86_64                                                                                                      9/15
  Verifying  : 1:net-snmp-agent-libs-5.7.2-28.el7.x86_64                                                                                                        10/15
  Verifying  : mongodb-enterprise-shell-3.4.6-1.el7.x86_64                                                                                                      11/15
  Verifying  : cyrus-sasl-2.1.26-21.el7.x86_64                                                                                                                  12/15
  Verifying  : cyrus-sasl-gssapi-2.1.26-20.el7_2.x86_64                                                                                                         13/15
  Verifying  : cyrus-sasl-lib-2.1.26-20.el7_2.x86_64                                                                                                            14/15
  Verifying  : cyrus-sasl-plain-2.1.26-20.el7_2.x86_64                                                                                                          15/15

Installed:
  mongodb-enterprise.x86_64 0:3.4.6-1.el7

Dependency Installed:
  cyrus-sasl.x86_64 0:2.1.26-21.el7                     mongodb-enterprise-mongos.x86_64 0:3.4.6-1.el7         mongodb-enterprise-server.x86_64 0:3.4.6-1.el7
  mongodb-enterprise-shell.x86_64 0:3.4.6-1.el7         mongodb-enterprise-tools.x86_64 0:3.4.6-1.el7          net-snmp.x86_64 1:5.7.2-28.el7
  net-snmp-agent-libs.x86_64 1:5.7.2-28.el7             net-snmp-libs.x86_64 1:5.7.2-28.el7

Dependency Updated:
  cyrus-sasl-gssapi.x86_64 0:2.1.26-21.el7                cyrus-sasl-lib.x86_64 0:2.1.26-21.el7                cyrus-sasl-plain.x86_64 0:2.1.26-21.el7

Complete!
8. Validate the version of mongod we are running now
[xxxx ~]# mongod --version
db version v3.4.6
git version: c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: enterprise
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64








Comments

Popular posts from this blog

MongoDB Ops Manager Basic Installation and Configuration

MongoDB OpsManager 3.6.5 version manifest binary location change

MongoDB BI Connector Uninstallation and Installation