- Replication >
- Replica Set Tutorials >
- Replica Set Deployment Tutorials >
- Add an Arbiter to Replica Set
Add an Arbiter to Replica Set¶
On this page
Arbiters are mongod instances that are part of
replica set but do not hold data. Arbiters participate in
elections in order to break ties.
If a replica set has an even number of members, add an arbiter.
Arbiters have minimal resource requirements and do not require dedicated hardware. You can deploy an arbiter on an application server, monitoring host.
Important
Do not run an arbiter on the same system as a member of the replica set.
Considerations¶
An arbiter does not store data, but until the arbiter’s mongod
process is added to the replica set, the arbiter will act like any other
mongod process and start up with a set of data files and with a
full-sized journal. To minimize the default creation of data, set
the following options to true in the arbiter’s configuration
file:
-
Warning
Never set
nojournaltotrueon a data-bearing node.
These settings are specific to arbiters. Do not set nojournal
to true on a data-bearing node. Similarly, do not set
smallFiles or noprealloc unless specifically
indicated.
Add an Arbiter¶
Create a data directory (e.g.
dbpath) for the arbiter. Themongodinstance uses the directory for configuration data. The directory will not hold the data set. For example, create the/data/arbdirectory:Start the arbiter. Specify the data directory and the replica set name. The following, starts an arbiter using the
/data/arbdbpathfor thersreplica set:Connect to the primary and add the arbiter to the replica set. Use the
rs.addArb()method, as in the following example:This operation adds the arbiter running on port
30000on them1.example.nethost.