Configure Non-Voting Replica Set Member¶
Non-voting members allow you to add additional members for read
distribution beyond the maximum seven voting members. To configure a
member as non-voting, set its
votes value to
To disable the ability to vote in elections for the fourth, fifth, and
sixth replica set members, use the following command sequence in the
mongo shell connected to the primary. You identify each
replica set member by its array index in the
cfg = rs.conf() cfg.members.votes = 0 cfg.members.votes = 0 cfg.members.votes = 0 rs.reconfig(cfg)
This sequence gives
0 votes to the fourth, fifth, and sixth members
of the set according to the order of the
members array in the output of
rs.conf(). This setting allows the set to elect these members
as primary but does not allow them to vote in elections. Place
voting members so that your designated primary or primaries can reach a
majority of votes in the event of a network partition.
When updating the replica configuration object, access the replica set
members in the
members array with the
array index. The array index begins with
0. Do not confuse
this index value with the value of the
_id field in each document in
rs.reconfig()shell method can force the current primary to step down, which causes an election. When the primary steps down, the
mongodcloses all client connections. While this typically takes 10-20 seconds, try to make these changes during scheduled maintenance periods.
- To successfully reconfigure a replica set, a majority of the members must be accessible. If your replica set has an even number of members, add an arbiter to ensure that members can quickly obtain a majority of votes in an election for primary.
In general and when possible, all members should have only 1 vote. This
prevents intermittent ties, deadlocks, or the wrong members from
becoming primary. Use
to control which members are more likely to become primary.