Navigation
This version of the documentation is archived and no longer supported.

Convert Sharded Cluster to Replica Set

This tutorial describes the process for converting a sharded cluster to a non-sharded replica set. To convert a replica set into a sharded cluster Convert a Replica Set to a Sharded Cluster. See the Sharding documentation for more information on sharded clusters.

Convert a Cluster with a Single Shard into a Replica Set

In the case of a sharded cluster with only one shard, that shard contains the full data set. Use the following procedure to convert that cluster into a non-sharded replica set:

  1. Reconfigure the application to connect to the primary member of the replica set hosting the single shard that system will be the new replica set.

  2. Remove the --shardsvr option from your mongod.

    Tip

    Changing the --shardsvr option will change the port that mongod listens for incoming connections on.

The single-shard cluster is now a non-sharded replica set that will accept read and write operations on the data set.

You may now decommission the remaining sharding infrastructure.

Convert a Sharded Cluster into a Replica Set

Use the following procedure to transition from a sharded cluster with more than one shard to an entirely new replica set.

  1. With the sharded cluster running, deploy a new replica set in addition to your sharded cluster. The replica set must have sufficient capacity to hold all of the data files from all of the current shards combined. Do not configure the application to connect to the new replica set until the data transfer is complete.

  2. Stop all writes to the sharded cluster. You may reconfigure your application or stop all mongos instances. If you stop all mongos instances, the applications will not be able to read from the database. If you stop all mongos instances, start a temporary mongos instance on that applications cannot access for the data migration procedure.

  3. Use mongodump and mongorestore to migrate the data from the mongos instance to the new replica set.

    Note

    Not all collections on all databases are necessarily sharded. Do not solely migrate the sharded collections. Ensure that all databases and all collections migrate correctly.

  4. Reconfigure the application to use the non-sharded replica set instead of the mongos instance.

The application will now use the un-sharded replica set for reads and writes. You may now decommission the remaining unused sharded cluster infrastructure.