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
Post a Comment