Versions Compared

Key

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

...

A replicated cluster is where a set of mongo servers have replicated data. This will allow for fault tolerance. Any time a node of the cluster disappears another node can take over being the primary node. This can also improve the read performance (since reads can be done on multiple nodes). For more information see https://docs.mongodb.com/manual/replication/.

To get this to work in clowder, add the following to your custom.conf file:

mongodbURI = "mongodb://mongo-1.os.ncsa.edu:27017,mongo-2.os.ncsa.edu:27017,mongo-3.os.ncsa.edu:27017/sead2-dev?replicaSet=ISDA"

You don't need to specify all nodes in the cluster, however if the one you specify is down, you will not be able to get the other nodes in the cluster.

A replicated system should have a minimum of 3 nodes. If you have only two nodes in the cluster and one disappears, the second node will NOT be selected the new primary node, and your cluster will not be reachable One of these nodes can be an Aribiter (an arbiter is a regular mongo instance, but does not store any data). Once one of the nodes disappears the left over nodes will vote on who will become the next primary. Normally each node will have the same priority, but this can be changed during the setup.

...

Following is the mongod.conf that is used:

 

 

Code Block
title/etc/mongod.conf
linenumberstrue
# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  directoryPerDB: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017

# replication options
replication:
  replSetName: ISDA

 

...

Following are the commands used to create the cluster.

...