Search code examples
elasticsearchstructure

Elasticsearch cluster setup


I'm curerntly running a single node ES-Instance. As there are some limitations with a single server setup in ES, and the queries are becoming pretty slow sometimes, I want to upgrade to a full cluster.

The ES-Instance currently only stores data, and is not doing any fancy stuff (Transformations, Ingest Pipelines, ...). All I currently need is a place to store my data at, and to retrieve it (Search + Aggregations). There are more reads than writes.

In a lot of forums and blog posts I read about the "Split-Brain" issue. To circumvent this, the minimum node count should be 3.

The idea is to keep the amount of machines low, because this is a private project and I do not want to also manage a lot of OS in my spare time..

The structure I thought about was:

- 1 Coordinator + Voting-only Node
- 2 Master-eligible + Data Nodes

minimum_master_nodes: 2 to circumvent Split-Brains

Send all ES-Queries to the Coordinator, which will then issue the requests on the data nodes and reduce the final results.

My question is: Does this make sense? Or is it better to use 3 master-eligible + Data nodes?

Online I found no guidance for ES-Newbies to get an idea of the structure of a simple cluster.


Solution

  • You are in right direction and I can see most of your thinking is also right so don't consider yourself as ES newbie :).

    Anyway as you are going to have 3 nodes in your cluster, why note make all three nodes as master eligible nodes and why you are making a dedicated co-ordinating node when by default every ES node works as a co-ordinating node and in your small project you won't need a dedicated co-ordinating node. this way you will have a simple configuration, just don't assign any explicit role to any node as by default all ES nodes are master, data and co-ordinating node.

    Also, you should invest some time to identify the slow logs and its cause to make it more performant rather than adding more resources that too in personal project, please refer to my short tips on improving the search performance