I am trying to configure a replica set, in Azure Cloud with MongoDB MMS service. I have created a replica set with three nodes, one as primary and two secondaries. How can I make one of those secondary nodes as arbitrary ?
1 Answers
You can't directly "convert" a secondary to an arbiter through replica set reconfiguration. A secondary is a data-bearing node whereas an arbiter is not, so the step of removing a secondary (and dropping data) needs to be explicit.
Via MMS you need to:
- edit your deployment
- add an arbiter
- remove a secondary
The MMS documentation has a tutorial with more detailed steps to Replace a Member with an Arbiter.
Data redundancy consideration with an arbiter in a three node replica set
It's worth noting the data redundancy impact of having an arbiter in a three node replica set. Technically the fault tolerance of a three node replica set allows any one node to be unavailable and still maintain a primary.
However, if you only have two data-bearing nodes plus an arbiter the impact of a single node being unavailable is different if that node happens to be data-bearing (primary or secondary) versus an arbiter.
If a single unavailable node is data-bearing, then your replica set:
- no longer has data redundancy or active replication (since there would only be a single remaining data node)
- can only satisfy a single node write concern (which will be an issue if your application code expects a
majority
orw:2
write concern)

- 63,885
- 14
- 149
- 175