Fetching contributors…
Cannot retrieve contributors at this time
88 lines (59 sloc) 2.87 KB
Convert a Standalone to a Replica Set
.. default-domain:: mongodb
.. contents:: On this page
:backlinks: none
:depth: 1
:class: singlecol
This tutorial describes the process for converting a
:term:`standalone` :program:`mongod` instance into a three-member
:term:`replica set`. Use standalone instances for testing and
development, but always use replica sets in production. To install a
standalone instance, see the :ref:`installation tutorials
To deploy a replica set without using a pre-existing :program:`mongod`
instance, see :doc:`/tutorial/deploy-replica-set`.
#. Shut down the :term:`standalone` :program:`mongod` instance.
#. Restart the instance. Use the :option:`--replSet <mongod --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``:
.. include:: /includes/warning-bind-ip-security-considerations.rst
.. code-block:: sh
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost,<ip address of the mongod host>
.. include:: /includes/fact-unique-replica-set-names.rst
For more information on configuration options, see
:doc:`/reference/configuration-options` and the :program:`mongod`
manual page.
#. Connect a :program:`mongo` shell to the :program:`mongod` instance.
#. Use :method:`rs.initiate()` to initiate the new replica set:
.. code-block:: javascript
The replica set is now operational.
To view the replica set configuration, use :method:`rs.conf()`. To
check the status of the replica set, use :method:`rs.status()`.
.. _expand-the-replica-set:
To add members to this replica set, use the :method:`rs.add()` method.
For more information on adding members to a replica set, see
Sharding Considerations
If the new replica set is part of a :term:`sharded cluster`, change
the shard host information in the :term:`config database` by doing
the following:
#. Connect to one of the sharded cluster's :program:`mongos`
instances and issue a command in the following form:
.. code-block:: javascript
db.getSiblingDB("config") {_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 :program:`mongos` instances. If possible, restart all
components of the replica sets (i.e., all :program:`mongos` and
all shard :program:`mongod` instances).