# Best Configuration for 3 Node Cluster

**URL:** <https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708>\
**Category:** Elasticsearch\
**Created:** [August 10, 2016, 1:38pm UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708 "2016-08-10T13:38:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![ramkchirra](https://avatars.discourse-cdn.com/v4/letter/r/ea666f/32.png) [@ramkchirra](https://discuss.elastic.co/u/ramkchirra)\
**Post date:** [August 10, 2016, 1:38pm UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/1 "2016-08-10T13:38:14Z")

</div>

Hi,  
I have a 3 node cluster. I want to know what would be the best configuration of elasticsearch.

Following is my hardware capability :

1. Server1 - 16GB RAM , 94GB Disk space
2. Server2 - 16GB RAM, 94GB Disk space
3. Server3 - 8GB RAM, 19GB Disk space ( Kibana installed on this)

I have set the `ES_HEAP_SIZE` to 8GB on first 2 servers and 4GB on the third server.

Kindly let me know the best configuration.

Thanks,  
RK

---

<div class="post-metadata">

**Author:** ![Borrelworst](https://avatars.discourse-cdn.com/v4/letter/b/6f9a4e/32.png) [@Borrelworst](https://discuss.elastic.co/u/Borrelworst)\
**Post date:** [August 10, 2016, 2:43pm UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/2 "2016-08-10T14:43:45Z")

</div>

I my opinion, you should use Server3 as Master server only and don't use it as a data node.

---

<div class="post-metadata">

**Author:** ![ramkchirra](https://avatars.discourse-cdn.com/v4/letter/r/ea666f/32.png) [@ramkchirra](https://discuss.elastic.co/u/ramkchirra)\
**Post date:** [August 11, 2016, 3:25am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/3 "2016-08-11T03:25:51Z")

</div>

I have configured Server3 as Master only Node, then My Cluster health shows RED.

![](https://us1.discourse-cdn.com/elastic/original/2X/e/eee15c84d6939a1ff67f1ab671c3d7e1ea851c68.png)

Please suggest the best possible combination.

Thanks,  
RK

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [August 11, 2016, 3:36am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/4 "2016-08-11T03:36:36Z")

</div>

That's probably because you had data shards with no replicas on that node, and now when that node is data-only the shards aren't available anymore. Make it a data node again to get your green status back, add one replicas for those indexes, then make it a master-only node.

For a three-node cluster I think master-only nodes are rather wasteful, and with a single master you have a single point of failure for the cluster.

---

<div class="post-metadata">

**Author:** ![ramkchirra](https://avatars.discourse-cdn.com/v4/letter/r/ea666f/32.png) [@ramkchirra](https://discuss.elastic.co/u/ramkchirra)\
**Post date:** [August 11, 2016, 4:07am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/5 "2016-08-11T04:07:51Z")

</div>

Thanks for the suggestion !!

We are aiming at highest availability of the service/data, so we are bound to go with at-least 2 master nodes.

I have made the following changes and the cluster state is now green.

```
Server1 : 
    node.master : true
    node.data : true

Server2:
    node.master : true
    node.data : true

Server3: (Fact that this server has the least RAM and disk space)
    node.data : true

```

I think this is the best possible configuration. More suggestions/comments are welcome 🙂

Thanks,  
RK

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [August 11, 2016, 4:57am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/6 "2016-08-11T04:57:17Z")

</div>

I would consider having the nodes on the two more powerful servers hold data and be master eligible. As you will be running Kibana in addition to Elasticsearch on the least powerful server it may make sense to make it be master eligible (you always want to have 3 master eligible nodes) but not hold data.

---

<div class="post-metadata">

**Author:** ![ramkchirra](https://avatars.discourse-cdn.com/v4/letter/r/ea666f/32.png) [@ramkchirra](https://discuss.elastic.co/u/ramkchirra)\
**Post date:** [August 11, 2016, 5:13am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/7 "2016-08-11T05:13:16Z")

</div>

I tried making the least powerful server master eligible, but not hold data by setting

```
node.master: true
node.data: false

```

but then, if i see the ES cluster health, it is yellow with below stats.

![](https://us1.discourse-cdn.com/elastic/original/2X/0/041a48f56ef8b00323b23432607fb74b3d687f11.png)

Would these stats denote an healthy Elasticsearch cluster ?

Thanks,  
RK

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [August 11, 2016, 5:35am UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/8 "2016-08-11T05:35:03Z")

</div>

Yellow means that all data is available but that not all replicas have been allocated. If you have no more than one replica for these shards it _should_ be possible to allocate all shards since you have two data nodes. The logs might contain clues about why it refuses to allocate the remaining shards. I believe there's also an explain API that tells you why or why not ES makes its shard allocations.

---

<div class="post-metadata">

**Author:** ![ramkchirra](https://avatars.discourse-cdn.com/v4/letter/r/ea666f/32.png) [@ramkchirra](https://discuss.elastic.co/u/ramkchirra)\
**Post date:** [August 11, 2016, 2:06pm UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/9 "2016-08-11T14:06:40Z")

</div>

There was some older data on the Server3 (least powerful server). So i deleted all the data and then restarted all of the ES instances. Now everything seems fine.

Thanks for your support and time !! 🙂

Regards,  
RK

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:28pm UTC](https://discuss.elastic.co/t/best-configuration-for-3-node-cluster/57708/10 "2017-07-05T22:28:21Z")

</div>


