- Replication >
- Replica Set Tutorials >
- Replica Set Deployment Tutorials >
- Convert a Standalone to a Replica Set
Convert a Standalone to a Replica Set¶
On this page
This tutorial describes the process for converting a
standalone mongod
instance into a three-member
replica set. Use standalone instances for testing and
development, but always use replica sets in production. To install a
standalone instance, see the installation tutorials.
To deploy a replica set without using a pre-existing mongod
instance, see Deploy a Replica Set.
Procedure¶
Shut down the standalone
mongod
instance.Restart the instance. Use the
--replSet
option to specify the name of the new replica set.For example, the following command starts a standalone instance as a member of a new replica set named
rs0
. The command uses the standalone’s existing database path of/srv/mongodb/db0
:mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0
If your application connects to more than one replica set, each set should have a distinct name. Some drivers group replica set connections by replica set name.
For more information on configuration options, see Configuration File Options and the
mongod
manual page.Connect to the
mongod
instance.Use
rs.initiate()
to initiate the new replica set:rs.initiate()
The replica set is now operational.
To view the replica set configuration, use
rs.conf()
. To check the status of the replica set, users.status()
.
Expand the Replica Set¶
Add additional replica set members by doing the following:
On two distinct systems, start two new standalone
mongod
instances. For information on starting a standalone instance, see the installation tutorial specific to your environment.On your connection to the original
mongod
instance (the former standalone instance), issue a command in the following form for each new instance to add to the replica set:rs.add("<hostname><:port>")
Replace
<hostname>
and<port>
with the resolvable hostname and port of themongod
instance to add to the set. For more information on adding a host to a replica set, see Add Members to a Replica Set.
Sharding Considerations¶
If the new replica set is part of a sharded cluster, change the shard host information in the config database by doing the following:
Connect to one of the sharded cluster’s
mongos
instances and issue a command in the following form:db.getSiblingDB("config").shards.save( {_id: "<name>", host: "<replica-set>/<member,><member,><...>" } )
Replace
<name>
with the name of the shard. Replace<replica-set>
with the name of the replica set. Replace<member,><member,><>
with the list of the members of the replica set.Restart all
mongos
instances. If possible, restart all components of the replica sets (i.e., allmongos
and all shardmongod
instances).