- Create or Import a MongoDB Deployment >
- Deploy a Sharded Cluster
Deploy a Sharded Cluster¶
On this page
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 Ops Manager manages. Later, you can use Ops Manager to add shards and perform other maintenance operations on the cluster.
Added in Ops Manager 4.0
You can use Kubernetes to deploy MongoDB instances with Ops Manager version 4.0 or later.
To learn how to deploy a sharded cluster using a Kubernetes object, see Deploy a Sharded Cluster in the MongoDB Enterprise Kubernetes Operator documentation.
Prerequisites¶
You must provision servers onto which to deploy, and Ops Manager must have access to the servers.
Important
If you will run MongoDB Enterprise and provision your own Linux servers, 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. See the link for the server’s operating system:
Considerations¶
Unique Names for Sharded Clusters¶
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.
Do Not Deploy Monitoring Agents inside and outside Kubernetes¶
Do not mix MongoDB deployments outside Kubernetes with ones insider Kubernetes in the same Project.
Due to Kubernetes network translation, a Monitoring Agent outside Kubernetes cannot monitor MongoDB instnaces inside Kubernetes. For this reason, k8s and non-k8s deployments in the same Project is not supported. Use separate projects.
Configuration Server Deployment Architecture¶
New in version Ops: Manager 4.0
If you select MongoDB 3.2 or later for your configuration server
mongod
processes, Ops Manager deploys your
configuration servers as a replica set. If you select
MongoDB 3.0 or earlier for your configuration server
mongod
processes, Ops Manager deploys mirrored
configuration servers.
To learn more about CSRS and mirrored configuration servers (SCCC), see Config Servers.
Procedure¶
Click Deployment.¶
Open the Cluster Creation View.¶
Click the Add New arrow in the top-right of the Deployment page. Select New Cluster from the drop-down menu to open the Create New Cluster view.
Configure Cluster-Wide Settings.¶
The Cluster Configuration section contains the following cluster-wide configuration settings. Settings marked with an * asterisk in the Ops 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
Ops 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. Ops 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 Ops Manager groups Note For clusters running MongoDB 3.0 or earlier, Ops Manager groups
the config server |
Version | Select the MongoDB server version of the If the dropdown menu does not include the MongoDB version you want for your deployment, you must enable it in the Version Manager. |
Data Directory | Specify the directory where the Each |
Log File | Specify the full path to the Example Specifying The |
Configure Each Shard in Your Cluster.¶
From the Member Configuration section, click
Shard Settings to open the shard configuration
options. Ops Manager lists each shard in the cluster and the
mongod
processes associated to that shard.
Each shard process has the the following options:
Setting | Description |
---|---|
Member | Select one of the following replica set member roles from the menu:
|
Hostname | Select from the menu the host to which Ops Manager Automation deploys the replica set member. The menu only lists hosts under Ops Manager Automation. For complete documentation on adding servers to Ops Manager Automation, see Provision Servers for Automation. |
Port | Specify the IANA port
number for the The |
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
slaveDelay
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
For complete documentation on replica set tags, see Replica Set Tags |
Add a Mongod | Adds an additional Adding a new |
Click Add a Shard to add additional shards to the cluster.
You must also configure the
Version, Data Directory, and
Log File of each mongod
in the shard
under the Cluster Configuration section.
Configure Each Configuration Server in Your Cluster.¶
Ops 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.
-
A non-data bearing member of the replica set that can vote in elections. Corresponds to the
arbiterOnly
replica configuration option. -
A data-bearing member of the replica set that can vote in elections. Corresponds to the
hidden
replica configuration option. -
A data-bearing member of the replica set that can vote in elections. Corresponds to the
slaveDelay
andhidden
replica configuration options.
Hostname Select from the menu the host to which Ops Manager Automation deploys the replica set member. The menu only lists hosts under Ops Manager Automation. For complete documentation on adding servers to Ops Manager Automation, see Provision Servers for Automation. Port Specify the IANA port number for the
mongod
process. This setting corresponds to thenet.port
configuration file option. Defaults to27017
.The
mongod
must have exclusive access to the specified port. If deploying multiplemongod
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 thepriority
mongod
replica set configuration option.Delay Specify the number of seconds “behind” the primary member this member should “lag”. This setting corresponds to the slaveDelay
mongod
replica set configuration option.Build Indexes Specify true
to direct themongod
to build indexes. This setting corresponds to thebuildIndexes
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 Ops Manager Automation deploys the replica set member. The menu only lists hosts under Ops Manager Automation. For complete documentation on adding servers to Ops Manager Automation, see Provision Servers for Automation. Port Specify the IANA port number for the
mongod
process. This setting corresponds to thenet.port
configuration file option. Defaults to27017
.The
mongod
must have exclusive access to the specified port. If deploying multiplemongod
processes to a single host, you must select a unique unused port for each process.
Configure Each mongos
in Your Cluster.¶
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 Ops Manager Automation deploys the
mongos . The menu only lists hosts under Ops Manager Automation.
For complete documentation on adding servers to Ops Manager Automation,
see Provision Servers for Automation. |
Port | Specify the IANA port
number for the The |
Add a Mongos | Click to add an additional mongos process. |
Configure Each Replica Set in your Cluster.¶
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
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. |
Configure your Ops Manager managed indexes.¶
The Index Configuration section allows you to create, change, or remove Ops Manager managed indexes on your MongoDB deployment. For complete documentation on Ops Manager managed indexes, see Manage Indexes.
Setting | Description |
---|---|
Add | Adds an index for Ops Manager to manage. Select an index type to open the index creation walkthrough. |
Unmanage | Removes the index from Ops Manager management. Only visible if you have at least one Ops Manager managed index. Removing an index from Ops Manager management does not delete the index. |
Set any advanced configuration options for your MongoDB sharded cluster.¶
The Advanced Configuration Options section allows you to set MongoDB runtime options for each MongoDB process in your deployment.
To add an option:
- Click Add Option.
- From the Select a Process Type menu, click the process for which you want to add an option.
- Click Select a Startup Option and select the configuration option.
- Ops Manager displays a context-sensitive input for configuring an acceptable value for the selected option.
- Click Add to add the selected option and its corresponding value to every process of the selected process type in the cluster.
Ops Manager lists each process in the cluster grouped logically. Click the grey arrow to the left of the logical grouping to display its sub-groupings and processes. You can modify the advanced options for each process individually as necessary.
For descriptions of the available Advanced Configuration Options, see Advanced Options for MongoDB Deployments.
Click Create Cluster.¶
Ops Manager redirects you to the Deployment view, where you must review the cluster configuration before Ops Manager begins deployment.
Click Review & Deploy to review your changes.¶
Review and approve your changes.¶
Ops Manager displays your proposed changes.
- If you are satisfied, click Confirm & Deploy.
- If you want to make further configuration changes, click Cancel. Click Modify for the cluster to make additional changes.