Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Deploying MongoDB on Multiple Nodes

Introduction

Deploying MongoDB on multiple nodes enhances its availability, scalability, and fault tolerance. This guide will walk you through the steps to set up a MongoDB replica set, which consists of multiple nodes working together.

Prerequisites

  • At least three servers or virtual machines with a supported operating system (e.g., Linux, Windows, macOS).
  • Administrator or root access to install software on each server.
  • Network connectivity between all servers.

Installation Steps

Step 1: Install MongoDB on All Nodes

Follow the installation instructions for your operating system on each node. Ensure that MongoDB is installed and running on all nodes.


// For Linux (Ubuntu example)
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org

// Start MongoDB on each node
sudo systemctl start mongod
sudo systemctl enable mongod

    

Step 2: Configure Replica Set

Edit the MongoDB configuration file on each node to specify the replica set name:


# /etc/mongod.conf
replication:
  replSetName: "rs0"

    

Restart MongoDB on each node to apply the changes:


sudo systemctl restart mongod

    

Initialize the Replica Set

Connect to one of the MongoDB nodes using the MongoDB shell and initiate the replica set:


mongo
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "node1:27017" },
    { _id: 1, host: "node2:27017" },
    { _id: 2, host: "node3:27017" }
  ]
})

    

Replace node1, node2, and node3 with the actual hostnames or IP addresses of your MongoDB nodes.

Verify the Replica Set

Run the following command to check the status of the replica set:


rs.status()

    

This command should display information about the replica set members and their status.

Conclusion

Deploying MongoDB on multiple nodes as a replica set enhances data redundancy and availability. By following these steps, you can set up a resilient MongoDB deployment that can handle node failures and provide high availability for your applications.