Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Purpose

OMK customers may wish to upgrade MongoDB to 3.2 and realize the efficiencies of Wired Tiger.  This example uses CentOS because this is the prevailing Linux distribution used by our customer base.

Steps

  • Ensure MondgoDB Authentication Is Set Correctly
  • Stop Running Services
  • Backup Current Database
  • Install MongoDB 3.2
  • Provision MongoDB 3.2
  • Restart OMK Services and Test

Procedure

Ensure MongoDB Authentication Is Set Correctly

In order to ensure a smooth transistion ensure MongoDB authentication is set correctly.  The following script will facilitate this.

Code Block
[root@opmantek ~]# /usr/local/omk/bin/setup_mongodb.pl 

Stop Running OMK Services

 

Code Block
[root@opmantek ~]# service opconfigd stop
Stopping opconfig daemon opconfigd                         [  OK  ]
[root@opmantek ~]# service opeventsd stop
Stopping opevents daemon opeventsd                         [  OK  ]
[root@opmantek ~]# service omkd stop
Stopping Opmantek Webserver opmantek.exe                   [  OK  ]
[root@opmantek ~]# service opflowd stop
Shutting down flowd:                                       [  OK  ]

 

Backup Current Database

Create Backup Directory

Code Block
[root@opmantek /]# mkdir data/mongodump

Dump MongoDB

Code Block
[root@opmantek ~]# mongodump -u=opUserRW -p=op42flow42 --out=/data/mongodump

Stop MongoDB

Code Block
[root@opmantek ~]# service mongod stop
Stopping mongod:                                           [  OK  ]

 

Install MongoDB 3.2

Update MongoDB Repository File

In order to install Mondgo3.2 edit /etc/yum.repos.d/mongod-org.repo to reflect the correct version. 

Code Block
title/etc/yum.repos.d/mongod-org.repo
### change below to 3.2
[mongodb-org-3.2]
name=MongoDB Repository
### change below to 3.2
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

Install MongoDB 3.2 with yum

Code Block
[root@opmantek ~]# yum install mongodb-org

Provision MongoDB 3.2

Check what kinds of MongoDB configuration files are in /etc

Code Block
[root@opmantek etc]# ls -l | grep mongo
-rw-r--r--   1 root root    1564 2015-09-11 10:00 mongod.conf
-rw-r--r--   1 root root     768 2017-02-02 02:07 mongod.conf.rpmnew

...

Code Block
[root@opmantek etc]# cp mongod.conf mongod.conf.backup

[root@opmantek etc]# cp mongod.conf.rpmnew mongod.conf

Provision MongoDB

Now make the following changes to mongod.conf

...

Code Block
title/etc/mongod.conf
--snip

# Where and how to store data.
storage:
  dbPath: /data/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
wiredTiger:

--snip 

Delete temporary files associated with MongoDB

Remove any files in /tmp that look be be associated with MongoDB

If there is a mongod.pid file in /var/run/mongodb, then remove it.

Delete the contents of /data/mongodb and verify the group and owner of /data/mongodb is mongod.

Code Block
[root@opmantek ~]# cd /data/mongodb
[root@opmantek mongodb]# rm -rf *

[root@opmantek mongodb]# cd ..

[root@opmantek data]# ls -l | grep mongodb
drwxr-xr-x 2 mongod mongod  4096 2017-04-05 17:42 mongodb

Start MongoDB Service

Code Block
[root@opmantek ~]# service mongod start
Starting mongod:                                           [  OK  ]
[root@opmantek ~]# 

Restore The Database

Code Block
[root@opmantek ~]# mongorestore /data/mongodump

Setup MongoDB for OMK Applicatons

Code Block
[root@opmantek ~]# /usr/local/omk/bin/setup_mongodb.pl 

Restart OMK Services and Test

Restart Services

Code Block
[root@opmantek mongodb]# service opeventsd start
Starting opevents daemon opeventsd                         [  OK  ]
[root@opmantek mongodb]# service opconfigd start
Starting opconfig daemon opconfigd                         [  OK  ]
[root@opmantek mongodb]# service opflowd start
Starting opflowd:                                          [  OK  ]
[root@opmantek mongodb]# service omkd start
Starting Opmantek Webserver opmantek.exe                   [  OK  ]

Test

Log into each OMK Application via the GUI and verify the data is still there.  If everythis is as it should be then delete /data/mongodump

...