Initializing a new replica set
In this recipe, we will be setting up the first node of a three node replica set on a single server. In a production setup, this should be on three physically separate servers.
Getting ready
By now, I am assuming you are familiar with installing MongoDB and have it ready. Additionally, we will create individual directories for each MongoDB instance:
mkdir -p /data/server{1,2,3}/{conf,logs,db}
This should create three parent directories: /data/server1
, /data/server2
, and /data/server3
, each containing subdirectories named conf
, logs
, and db
. We will be using this directory format throughout the chapter.
How to do it...
- Start the first node in the replica set:
mongod --dbpath /data/server1/db --replSet MyReplicaSet
- Open a new Terminal window, connect to the replica set node using the MongoDB shell, and check the replica set's status:
rs.status() { "info" : "run rs.initiate(...) if not yet done for the set", "ok" : 0, "errmsg" : "no replset config has been received...