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

Oracle Goldengate Extract, Pump, and Replicat

Oracle Goldengate Extract and Replicat within same DB from one schema to another plus some issues and fixes