Install MongoDB 4.4 on CentOS 7 / Fedora 36/35/34

ComputingPost
4 min readSep 16, 2022

--

Welcome to our guide on how to install MongoDB 4.4 on CentOS 7 / Fedora 36/35/34. MongoDB is an open source NoSQL database system written in C++. It is designed for high scalability, performance, and availability. MongoDB is good for the following applications:

  • Evolving data requirements.
  • Blogs and content management.
  • Mobile and social networking sites
  • E-commerce product catalogue.
  • configuration management
  • Real-time analytics and high-speed logging

Step 1: Update System

We always work on an updated system

### CentOS ###

sudo yum -y update



### Fedora ###

sudo dnf -y update

Step 2: Add DNF/YUM MongoDB Repositories

The first step in the installation of MongoDB 4 on CentOS 7 / Fedora 36/35/34 is to add the repositories to the system.

CentOS 7:

cat <[mongodb-org-4.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

EOF

Fedora 36/35/34:

cat <[mongodb-org-4.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

EOF

Update Yum cache index:

sudo yum clean all

sudo yum makecache

List available YUM repositories:

$ sudo yum repolist

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* base: centos.mirror.constant.com

* extras: nc-centos-mirror.iwebfusion.net

* updates: mirror.grid.uchicago.edu

repo id repo name status

base/7/x86_64 CentOS-7 - Base 10,072

droplet-agent/x86_64 DigitalOcean Droplet Agent 5

extras/7/x86_64 CentOS-7 - Extras 498

mongodb-org-4.4 MongoDB Repository 111

updates/7/x86_64 CentOS-7 - Updates 2,579

repolist: 13,265

Step 3: Install MongoDB 4.4 on CentOS 7 / Fedora 36/35/34

Next is to install mongodb-org package on CentOS 7 / Fedora.

Install MongoDB 4 on Fedora.

sudo dnf -y install mongodb-org

Install MongoDB 4 on CentOS 7:

sudo yum -y install mongodb-org

You can check the version of MongoDB installed using the following command:

$ mongo -version

MongoDB shell version v4.4.14

Build Info:

"version": "4.4.14",

"gitVersion": "0b0843af97c3ec9d2c0995152d96d2aad725aab7",

"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",

"modules": [],

"allocator": "tcmalloc",

"environment":

"distmod": "rhel70",

"distarch": "x86_64",

"target_arch": "x86_64"

The installation of mongodb-org package will install:

  • mongodb-org-server — This provides MongoDB daemon
  • mongod mongodb-org-mongos — This is a MongoDB Shard daemon
  • mongodb-org-shell — This provides a shell to MongoDB
  • mongodb-org-tools — MongoDB tools used for export, dump, import e.t.c

Step 4: Configure MongoDB (Optional)

You can customize MongoDB installation before starting the service.

Label MongoDB port

If you have SELinux in enforcing mode, you may need to label port 27017

sudo semanage port -a -t mongod_port_t -p tcp 27017

Allow MongoDB Port on the firewall

If you have an active firewalld service on your server and would like MongoDB service to be accessible over the network, allow port 27017/tcp:

sudo yum -y install firewalld && sudo systemctl enable --now firewalld

sudo firewall-cmd --add-port=27017/tcp --permanent

sudo firewall-cmd --reload

You can also limit access based on source address

sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \

source address="192.168.5.0/24" port protocol="tcp" port="27017" accept"

Using secondary disk for MongoDB data (Optional)

You can choose to use a dedicated disk to store MongoDB data.

Step 1: Partition secondary disk for MongoDB data:

$ lsblk  | grep vdb

vdb 252:16 0 50G 0 disk

Step 2: Create a GPT partition table for the secondary disk, it can be more than one disk:

sudo parted -s -a optimal -- /dev/vdb mklabel gpt

sudo parted -s -a optimal -- /dev/vdb mkpart primary 0% 100%

sudo parted -s -- /dev/vdb align-check optimal 1

Step 3: Create LVM volume, this will make it easy to extend the partition:

sudo pvcreate  /dev/vdb1

sudo vgcreate vg0 /dev/vdb1

sudo lvcreate -n mongo -l 100%FREE vg0

Step 4: Create XFS filesystem on the Logical Volume created.

$ sudo mkfs.xfs /dev/mapper/vg0-mongo

meta-data=/dev/mapper/vg0-mongo isize=512 agcount=4, agsize=6553344 blks

= sectsz=512 attr=2, projid32bit=1

= crc=1 finobt=0, sparse=0

data = bsize=4096 blocks=26213376, imaxpct=25

= sunit=0 swidth=0 blks

naming =version 2 bsize=4096 ascii-ci=0 ftype=1

log =internal log bsize=4096 blocks=12799, version=2

= sectsz=512 sunit=0 blks, lazy-count=1

realtime =none extsz=4096 blocks=0, rtextents=0

Step 5: Create a mount point and mount the partition

echo "/dev/mapper/vg0-mongo /var/lib/mongo xfs defaults 0 0" | sudo tee -a /etc/fstab

sudo mount -a

sudo chown -R mongod:mongod /var/lib/mongo

sudo chmod -R 775 /data/mongo

Step 7: Confirm that the partition mount was successful:

$ df -hT | grep  /var/lib/mongo

/dev/mapper/vg0-mongo xfs 50G 33M 50G 1% /var/lib/mongo

Step 8: Set MongoDB data store location

$ sudo vim /etc/mongod.conf

storage:

dbPath: /var/lib/mongo

journal:

enabled: true

Step 5: Start & Enable MongoDB Service

The last step is to start and enable MongoDB service to start on boot

sudo systemctl start mongod.service

sudo systemctl enable mongod.service

Check status by running:

$ systemctl status mongod.service

● mongod.service - MongoDB Database Server

Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)

Active: active (running) since Sun 2019-11-03 07:31:20 UTC; 6s ago

Docs: https://docs.mongodb.org/manual

Main PID: 4381 (mongod)

Memory: 72.0M

CPU: 509ms

CGroup: /system.slice/mongod.service

└─4381 /usr/bin/mongod -f /etc/mongod.conf



Nov 03 07:31:19 fed31.computingforgeeks.com systemd[1]: Starting MongoDB Database Server...

Nov 03 07:31:19 fed31.computingforgeeks.com mongod[4379]: about to fork child process, waiting until server is ready for connections.

Nov 03 07:31:19 fed31.computingforgeeks.com mongod[4379]: forked process: 4381

Nov 03 07:31:20 fed31.computingforgeeks.com mongod[4379]: child process started successfully, parent exiting

Nov 03 07:31:20 fed31.computingforgeeks.com systemd[1]: Started MongoDB Database Server.

Nov 03 07:31:20 fed31.computingforgeeks.com systemd[1]: /usr/lib/systemd/system/mongod.service:16: PIDFile= references a path below legacy directo>

For Authentication, check our guide on How to configure MongoDB 4 authentication.

https://www.computingpost.com/install-mongodb-4-4-on-centos-7-fedora-36-35-34/?feed_id=406&_unique_id=6323c661168a2

--

--

ComputingPost
ComputingPost

Written by ComputingPost

ComputingPost — Linux Howtos, Tutorials, Guides, News, Tips and Tricks.

No responses yet