Replica Set Arbiter

An arbiter does not have a copy of data set and cannot becomea primary. Replica sets may have arbiters to add a vote inelections for primary. Arbitersalways have exactly 1 election vote, and thusallow replica sets to have an uneven number of voting members without theoverhead of an additional member that replicates data.

Changed in version 3.6: Starting in MongoDB 3.6, arbiters have priority 0. When you upgradea replica set to MongoDB 3.6, if the existing configuration has anarbiter with priority 1, MongoDB 3.6 reconfigures the arbiter tohave priority 0.

Important

Do not run an arbiter on systems that also host theprimary or the secondary members of the replica set.

To add an arbiter, see Add an Arbiter to Replica Set.

For the following MongoDB versions, pv1 increases the likelihoodof w:1 rollbacks compared to pv0(no longer supported in MongoDB 4.0+) for replica sets with arbiters:

  • MongoDB 3.4.1
  • MongoDB 3.4.0
  • MongoDB 3.2.11 or earlier

See Replica Set Protocol Version.

Example

For example, in the following replica set, an arbiter allows the setto have an odd number of votes for elections:

Diagram of a four member replica set plus an arbiter for odd number of votes.

Security

Authentication

When running with authorization, arbiters exchange credentials withother members of the set to authenticate via keyfiles. MongoDB encrypts theauthentication process. The MongoDB authentication exchange iscryptographically secure.

Because arbiters do not store data, they do not possess the internal table of user and role mappingsused for authentication. Thus, the only way to log on to an arbiter with authorization active is touse the localhost exception.

Communication

The only communication between arbiters and other set members are:votes during elections, heartbeats, and configuration data. Theseexchanges are not encrypted.

However, if your MongoDB deployment uses TLS/SSL, MongoDB will encryptall communication between replica set members. SeeConfigure mongod and mongos for TLS/SSL for more information.

As with all MongoDB components, run arbiters in trusted networkenvironments.