Elasticsearch two node cluster

Hi All,

We have been ended up setting a 2 node elasticsearch cluster due to certain issues.

As i'm aware there will be a possible split brain issue or HA failure issue.

Can someone give me a better advice on how to tackle this situation, i'm collecting data from three different data sources (monitoring tools, ITSM tools, application monitoring tools)

Please help me with your suggestions.

Thanks
Gautham

On Elasticsearch 7.x the quorum is automatically configured so you should not hit any split brain issue.

On Elasticsearch 6.x you should not have the split brain issue if:

  • you have only one master eligible node and the minimum master nodes is set to 1
  • both nodes are master eligible and the minimum master nodes is set to 2

The problem is with 2 master eligible nodes the cluster will become read only as soon as one of the nodes is disconnected.

The problem with 1 master eligible node is the cluster will become read only as soon as the master nodes is disconnected.

Meaning you cannot perform a rolling restart and you'll always have downtime when in maintainance.

If you can afford a small additional instance, you could setup a 3 nodes cluster, where the third node is a master voting only node and the other 2 nodes are master eligible & data nodes. The master voting only node will not store data and participate only to the master election, allowing you to perform a rolling restart.

@Luca_Belluccini we are using elasticsearch 7.6.2 . so it means i dont need to worry about split brain?

How do i configure my nodes? Should i gohead with the default configuration in the system or should i need to add "node.data: true" or "node.master: true" to the nodes?

Please suggest.

Thanks
Gautham

You have to pay attention to not stop too many master eligible nodes at the same time.
Check this blog post and our documentation.

All nodes are by default master eligible & data nodes.
To know how to change the roles of the nodes, if necessary, please check the documentation.
E.g. for a voting only node, with no data, you need a basic license.
The configuration would be:

node.master: true 
node.voting_only: true 
node.data: false 
node.ingest: false 
cluster.remote.connect: false 

If your company policy allows access to a remote cluster on the Cloud, I also invite you to try out Elastic Cloud 14-days trial.