Docs Menu
Docs Home
/
MongoDB Cloud Manager
/

Deploy a Sharded Cluster

On this page

  • Considerations
  • Procedure

Sharded clusters provide horizontal scaling for large data sets and enable high throughput operations by distributing the data set across a group of servers.

To learn more about sharding, see Sharding Introduction in the MongoDB manual.

Use this procedure to deploy a new sharded cluster that Cloud Manager manages. Later, you can use Cloud Manager to add shards and perform other maintenance operations on the cluster.

To learn how to deploy a sharded cluster using a Kubernetes object, see Deploy a Sharded Cluster in the MongoDB Enterprise Kubernetes Operator documentation.

Note

New in Cloud Manager

You can use Kubernetes to deploy MongoDB instances with Cloud Manager.

To deploy MongoDB clusters, you must provision hosts to serve those clusters. Cloud Manager requires access to these hosts.

Important

If you run MongoDB Enterprise and provision your own Linux hosts, then you must manually install a set of dependencies to each server before installing MongoDB. The MongoDB manual provides the appropriate command to install the dependencies.

To learn more about the specifics for an operating system, see the following:

Use unique names for the new cluster and its shards.

Important

Replica set, sharded cluster, and shard names within the same project must be unique. Failure to have unique names for the deployments will result in broken backup snapshots.

If you select MongoDB 3.4 or later for your configuration server mongod processes, Cloud Manager deploys your configuration servers as a replica set.

To learn more about CSRS and mirrored configuration servers (SCCC), see Config Servers.

When you remove a shard, any unsharded databases in that shard are moved to a remaining shard using the movePrimary command.

All sharded collections remain online and available during the shard removal process. However, read and write operations sent to unsharded collections during the movePrimary operation can result in unexpected behavior, including failure of the migration or loss of data.

We recommend moving the primary shard for any databases containing unsharded collections before removing the shard.

To learn more about removing shards, see Remove Shards from an Existing Sharded Cluster.

1
  1. If it is not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.

  2. If it's not already displayed, select your desired project from the Projects menu in the navigation bar.

  3. If the Deployment page is not already displayed, click Deployment in the sidebar.

    The Deployment page displays.

2
  1. Click the Add arrow in the top-right of the page.

  2. Select New Cluster from the drop-down menu to open the Create New Cluster view.

3

The Cluster Configuration section contains the following cluster-wide configuration settings. Settings marked with an * asterisk in the Cloud Manager UI are required.

Setting
Description
Cluster Name

Specify the name of your sharded cluster deployment. You cannot change this once set.

Config Server Replica Set Name

Specify the name of your Config Server Replica Set. You cannot change this once set. This setting corresponds to the _id replica configuration option.

Cloud Manager only displays this option if you selected MongoDB 3.2 or later as the Version of your configuration servers.

Shard Name Prefix

Specify the prefix of each shard in the cluster. Cloud Manager names each shard in the cluster using the <prefix_n> format, where n is a 0-indexed, monotonically increasing integer.

Process Name

Hostname and port of a mongod or mongos associated to the sharded cluster. This hostname can be a hostname, an FQDN, an IPv4 address, or an IPv6 address.

Cloud Manager groups mongod processes under their parent replica set name, and mongos processes under mongoses. Cloud Manager then groups all the cluster components under the cluster name. Click the to the left of a grouping to list its sub-groups or processes. Modifying any of the available settings for a grouping changes the corresponding value in its sub-groups and processes.

For clusters running MongoDB 3.0 or earlier, Cloud Manager groups the config server mongod processes under configServers.

Version

Select the MongoDB server version of the mongod or mongos process.

  • Version

  • Select the MongoDB server version of the mongod or mongos process.

Data Directory

Specify the directory where the mongod process stores data files. This setting corresponds to the storage.dbPath mongod configuration file option. The Cloud Manager Automation must have file system permission to read, write, and execute all files and folders in the specified directory.

Each mongod process must have its own database directory. If deploying multiple mongod processes on the same host, ensure each process has its own distinct directory.

Log File

Specify the full path to the mongod or mongos log file, including the log file name and extension. This setting corresponds to the systemLog.path configuration file option. The mongod or mongos must have permission to read and write to the specified file.

For example, specifying /var/log/mongodb/mongo.log directs the mongod or mongos to store its logfile in /var/log/mongodb/ as mongo.log.

The mongod or mongos must have its own unique log file. If deploying multiple mongod or mongos processes to the same host, ensure each mongod or mongos has its own distinct logfile.

4

From the Member Configuration section, click Shard Settings to open the shard configuration options. Cloud Manager lists each shard in the cluster and the mongod processes associated to that shard. Each shard process has the following options:

Setting
Description
Member

Select one of the following replica set member roles from the menu:

  • Default

    A data-bearing member of the replica set that can become the primary and vote in elections.

  • Arbiter

    A non-data bearing member of the replica set that can vote in elections. Corresponds to the arbiterOnly replica configuration option.

  • Hidden

    A data-bearing member of the replica set that can vote in elections. Corresponds to the hidden replica configuration option.

  • Delayed Hidden

    A data-bearing member of the replica set that can vote in elections. Corresponds to the secondaryDelaySecs and hidden replica configuration options.

Hostname

Select from the menu the host to which Cloud Manager Automation deploys the replica set member. The menu only lists hosts under Cloud Manager Automation. For complete documentation on adding servers to Cloud Manager Automation, see Provision Servers for Automation.

This hostname can be a hostname, an FQDN, an IPv4 address, or an IPv6 address.

Port

Specify the IANA port number for the mongod process. This setting corresponds to the net.port configuration file option. Defaults to 27017.

The mongod must have exclusive access to the specified port. If deploying multiple mongod processes to a single host, you must select a unique unused port for each process.

Votes

Specify the number of votes that the replica set member has during elections. This setting corresponds to the votes mongod replica set configuration option.

Priority

Specify the priority of the member during elections. Replica set members with a priority of 0 cannot become the primary and cannot trigger elections. This setting corresponds to the priority mongod replica set configuration option.

Delay

Specify the number of seconds "behind" the primary member this member should "lag". This setting corresponds to the secondaryDelaySecs mongod replica set configuration option.

Build Indexes

Specify true to direct the mongod to build indexes. This setting corresponds to the buildIndexes mongod replica set configuration option.

Tags

Specify the tag or tags associated to the replica set. This setting corresponds to the tags mongod replica set configuration option.

For complete documentation on replica set tags, see Replica Set Tags

Add a Mongod

Adds an additional mongod process as a replica set member.

Adding a new mongod process also updates the list of processes in the Cluster Configuration section. You must configure the Version, Data Directory, and Log File of the new process.

To add additional shards to the cluster:

  1. Click Add a Shard.

  2. Under the Cluster Configuration section, set the following parameters for each mongod in the shard:

    • Version

    • Data Directory

    • Log File

5

Cloud Manager displays a different heading for your configuration server settings depending on the MongoDB version you selected for your configuration servers.

MongoDB 3.2 or Later:

From the Member Configuration section, click Config Server Replica Set Settings to open the CSRS configuration options. Each config server replica set member has the following options:

Setting
Description
Member

Select one of the following replica set member roles from the menu:

  • Default

    A data-bearing member of the replica set that can become the primary and vote in elections.

  • Arbiter

    A non-data bearing member of the replica set that can vote in elections. Corresponds to the arbiterOnly replica configuration option.

  • Hidden

    A data-bearing member of the replica set that can vote in elections. Corresponds to the hidden replica configuration option.

  • Delayed Hidden

    A data-bearing member of the replica set that can vote in elections. Corresponds to the secondaryDelaySecs and hidden replica configuration options.

Hostname

Select from the menu the host to which Cloud Manager Automation deploys the replica set member. The menu only lists hosts under Cloud Manager Automation. For complete documentation on adding servers to Cloud Manager Automation, see Provision Servers for Automation.

This hostname can be a hostname, an FQDN, an IPv4 address, or an IPv6 address.

Port

Specify the IANA port number for the mongod process. This setting corresponds to the net.port configuration file option. Defaults to 27017.

The mongod must have exclusive access to the specified port. If deploying multiple mongod processes to a single host, you must select a unique unused port for each process.

Votes

Specify the number of votes that the replica set member has during elections. This setting corresponds to the votes mongod replica set configuration option.

Priority

Specify the priority of the member during elections. Replica set members with a priority of 0 cannot become the primary and cannot trigger elections. This setting corresponds to the priority mongod replica set configuration option.

Delay

Specify the number of seconds "behind" the primary member this member should "lag". This setting corresponds to the secondaryDelaySecs mongod replica set configuration option.

Build Indexes

Specify true to direct the mongod to build indexes. This setting corresponds to the buildIndexes mongod replica set configuration option.

Tags

Specify the tag or tags associated to the replica set. This setting corresponds to the tags mongod replica set configuration option.

For complete documentation on replica set tags, see Replica Set Tags

Add a Mongod

Adds an additional mongod process as a replica set member.

Adding a new mongod process also updates the list of processes in the Cluster Configuration section. You must configure the Version, Data Directory, and Log File of the new process.

MongoDB 3.0 or Earlier

From the Member Configuration section, click Config Server Settings to open the configuration server options. Each configuration server has the following options:

Setting
Description
Hostname

Select from the menu the host to which Cloud Manager Automation deploys the replica set member. The menu only lists hosts under Cloud Manager Automation. For complete documentation on adding servers to Cloud Manager Automation, see Provision Servers for Automation.

This hostname can be a hostname, an FQDN, an IPv4 address, or an IPv6 address.

Port

Specify the IANA port number for the mongod process. This setting corresponds to the net.port configuration file option. Defaults to 27017.

The mongod must have exclusive access to the specified port. If deploying multiple mongod processes to a single host, you must select a unique unused port for each process.

6

From the Member Configuration section, click Mongos Settings to open the mongos configuration options. Each mongos process has the following options:

Setting
Description
Hostname

Select from the menu the host to which Cloud Manager Automation deploys the mongos. The menu only lists hosts under Cloud Manager Automation. For complete documentation on adding servers to Cloud Manager Automation, see Provision Servers for Automation.

This hostname can be a hostname, an FQDN, an IPv4 address, or an IPv6 address.

Port

Specify the IANA port number for the mongos process. This setting corresponds to the net.port configuration file option. Defaults to 27017.

The mongos must have exclusive access to the specified port. If deploying multiple mongos processes to a single host, you must select a unique unused port for each process.

Add a Mongos

Click to add an additional mongos process.

7

The Replication Settings section contains the following configuration options for each replica set in the cluster:

Setting
Description
Protocol Version

Select the replication protocol version used by the replica set. This setting corresponds to the protocolVersion replica set configuration option.

For more information, see Replica Set Protocol Versions.

Chaining Allowed

Specify true to allow secondary members to replicate from other secondary members. This setting corresponds to the chainingAllowed replica set configuration option.

Write Concern Majority Journal Default

Determines the behavior of {w:"majority"} write concern if the write concern does not explicitly specify the journal option j. This setting corresponds to the writeConcernMajorityJournalDefault replica set configuration option.

Heartbeat Timeout (secs)

Specify the number of seconds that the replica set members wait for a successful heartbeat from each other. This setting corresponds to the heartbeatTimeoutSecs replica set configuration option.

Election Timeout (ms)

Specify the time limit in milliseconds for detecting when a replica set's primary is unreachable. This setting corresponds to the electionTimeoutMillis replica set configuration option.

CatchUp Timeout (ms)

Specify the time limit in milliseconds for a newly elected primary to sync, or catch up, with the other replica set members that may have more recent writes. This setting corresponds to the catchUpTimeoutMillis replica set configuration option.

CatchUp Takeover Delay (ms)

Specify the time in milliseconds a node waits to initiate a catchup takeover after determining it is ahead of the current primary. This setting corresponds to the catchUpTakeoverDelayMillis replica set configuration option.

Last Error Defaults

Specify the default write concern for the replica set. The replica set uses this write concern only when write operations or getLastError specify no other write concern.

If this option is not set, the default write concern for the replica set only requires confirmation from the primary.

Specify this option in the form of a document, i.e., {"w":2}.

Force Reconfigure

Specify that you want to force a reconfiguration of the replica set. When set to Yes, the MongoDB Agent forces the replica set to accept a new configuration even if a majority of its members are unavailable.

WARNING: Forcing a replica set reconfiguration might lead to a rollback of majority-committed writes.

Proceed with caution. Contact MongoDB Support if you have questions about the potential impacts of this operation.

To learn more, see Reconfigure a Replica Set with Unavailable Members in the MongoDB Server Manual.

8
9
10

Cloud Manager redirects you to the Deployment view, where you must review the cluster configuration before Cloud Manager begins deployment.

11
12

Cloud Manager displays your proposed changes.

  1. If you are satisfied, click Confirm & Deploy.

  2. If you want to make further configuration changes, click Cancel. Click Modify for the cluster to make additional changes.

Back

Deploy a Replica Set