# Recommended setup & configuration for 3 servers

**URL:** <https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612>\
**Category:** Elasticsearch\
**Created:** [October 17, 2011, 11:07am UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612 "2011-10-17T11:07:56Z")\
**Posts on this page:** 7\
**Page:** 2

<div class="post-metadata">

**Author:** ![Clinton\_Gormley](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@Clinton\_Gormley](https://discuss.elastic.co/u/Clinton_Gormley)\
**Post date:** [October 17, 2011, 2:56pm UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/21 "2011-10-17T14:56:16Z")

</div>

Hi Doug

> So if I installed elasticsearch on my 3 servers (all on the same  
> network, with multicast enabled (is that an apt-get install?)),

...however you install ES

> used the same clustername for them, and they could all see each other  
> on post 9300, would ...
> 
> 1. An index created on one with 2 replicas automatically replicate  
> across the 3 servers?

Yes

> 1. A document indexed to one server automatically be replicated to 2  
> other replicas on the other two servers?

Yes

> 1. A fallen-over node be able to bring itself back up, repair itself,  
> and add itself back into the cluster? Would the service wrapper do  
> this?

Well, depends...

If a node dies, the service wrapper should restart it.

If a node leaves the cluster for some reason (eg network outage) then it  
won't rejoin the cluster automatically (unless something has changed  
recently that I don't know about).

You would have to stop and start the node manually for it to rejoin the  
cluster. And it is possible that you could have docs indexed just to  
this node and not to the other two nodes, which you would then lose.  
There is no conflict resolution available.

Have a look at "Write consistency" on this page:

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

clint

---

<div class="post-metadata">

**Author:** ![doug\_livesey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/doug_livesey/32/2114_2.png) [@doug\_livesey](https://discuss.elastic.co/u/doug_livesey)\
**Post date:** [October 17, 2011, 9:30pm UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/22 "2011-10-17T21:30:59Z")

</div>

That's fantastic, thankyou very much for answering so fully and patiently.  
I have just one last question -- is it definitely port 9300 that the nodes  
need to be able to see each other on, rather than 9200 (like for local  
development)?  
& thanks again,  
Doug.

On 17 October 2011 15:56, Clinton Gormley [clint@traveljury.com](mailto:clint@traveljury.com) wrote:

> Hi Doug
> 
> > So if I installed elasticsearch on my 3 servers (all on the same  
> > network, with multicast enabled (is that an apt-get install?)),
> 
> ...however you install ES
> 
> > used the same clustername for them, and they could all see each other  
> > on post 9300, would ...
> > 
> > 1. An index created on one with 2 replicas automatically replicate  
> > across the 3 servers?
> 
> Yes
> 
> > 1. A document indexed to one server automatically be replicated to 2  
> > other replicas on the other two servers?
> 
> Yes
> 
> > 1. A fallen-over node be able to bring itself back up, repair itself,  
> > and add itself back into the cluster? Would the service wrapper do  
> > this?
> 
> Well, depends...
> 
> If a node dies, the service wrapper should restart it.
> 
> If a node leaves the cluster for some reason (eg network outage) then it  
> won't rejoin the cluster automatically (unless something has changed  
> recently that I don't know about).
> 
> You would have to stop and start the node manually for it to rejoin the  
> cluster. And it is possible that you could have docs indexed just to  
> this node and not to the other two nodes, which you would then lose.  
> There is no conflict resolution available.
> 
> Have a look at "Write consistency" on this page:  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/api/index_.html)
> 
> clint

---

<div class="post-metadata">

**Author:** ![Lukas\_Vlcek1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lukas_vlcek1/32/819_2.png) [@Lukas\_Vlcek1](https://discuss.elastic.co/u/Lukas_Vlcek1)\
**Post date:** [October 17, 2011, 9:40pm UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/23 "2011-10-17T21:40:03Z")

</div>

Hi,

Nodes talk to each other through proprietary binary protocol, by default it  
is bound to ports starting at 9300. However, it can be fully customized:

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

Every node can also expose its API via HTTP, by default this is allowed and  
is bound to ports starting at 9200. This can be customized as well:

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

This is what many [third-party] clients use to talk to nodes in cluster.

Regards,  
Lukas

On Mon, Oct 17, 2011 at 11:30 PM, doug livesey [biot023@gmail.com](mailto:biot023@gmail.com) wrote:

> That's fantastic, thankyou very much for answering so fully and patiently.  
> I have just one last question -- is it definitely port 9300 that the nodes  
> need to be able to see each other on, rather than 9200 (like for local  
> development)?  
> & thanks again,  
> Doug.
> 
> On 17 October 2011 15:56, Clinton Gormley [clint@traveljury.com](mailto:clint@traveljury.com) wrote:
> 
> > Hi Doug
> > 
> > > So if I installed elasticsearch on my 3 servers (all on the same  
> > > network, with multicast enabled (is that an apt-get install?)),
> > 
> > ...however you install ES
> > 
> > > used the same clustername for them, and they could all see each other  
> > > on post 9300, would ...
> > > 
> > > 1. An index created on one with 2 replicas automatically replicate  
> > > across the 3 servers?
> > 
> > Yes
> > 
> > > 1. A document indexed to one server automatically be replicated to 2  
> > > other replicas on the other two servers?
> > 
> > Yes
> > 
> > > 1. A fallen-over node be able to bring itself back up, repair itself,  
> > > and add itself back into the cluster? Would the service wrapper do  
> > > this?
> > 
> > Well, depends...
> > 
> > If a node dies, the service wrapper should restart it.
> > 
> > If a node leaves the cluster for some reason (eg network outage) then it  
> > won't rejoin the cluster automatically (unless something has changed  
> > recently that I don't know about).
> > 
> > You would have to stop and start the node manually for it to rejoin the  
> > cluster. And it is possible that you could have docs indexed just to  
> > this node and not to the other two nodes, which you would then lose.  
> > There is no conflict resolution available.
> > 
> > Have a look at "Write consistency" on this page:  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/api/index_.html)
> > 
> > clint

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [October 18, 2011, 12:06am UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/24 "2011-10-18T00:06:49Z")

</div>

One more think that I am not 100% sure that was explained in this  
discussion, is that when you search on a node, the search will automatically  
be balanced and executed across several shards (matching the search  
request), and balanced across several nodes. So, elasticsearch will do the  
distributed search part for you.

Even if you have 1 index, with 5 shards, and 2 replicas on 3 node cluster,  
the search request will end up executed on 5 different shards, across  
several nodes.

On Mon, Oct 17, 2011 at 11:40 PM, Lukáš Vlček [lukas.vlcek@gmail.com](mailto:lukas.vlcek@gmail.com) wrote:

> Hi,
> 
> Nodes talk to each other through proprietary binary protocol, by default it  
> is bound to ports starting at 9300. However, it can be fully customized:  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/transport.html)
> 
> Every node can also expose its API via HTTP, by default this is allowed and  
> is bound to ports starting at 9200. This can be customized as well:  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/http.html)  
> This is what many [third-party] clients use to talk to nodes in cluster.
> 
> Regards,  
> Lukas
> 
> On Mon, Oct 17, 2011 at 11:30 PM, doug livesey [biot023@gmail.com](mailto:biot023@gmail.com) wrote:
> 
> > That's fantastic, thankyou very much for answering so fully and patiently.  
> > I have just one last question -- is it definitely port 9300 that the nodes  
> > need to be able to see each other on, rather than 9200 (like for local  
> > development)?  
> > & thanks again,  
> > Doug.
> > 
> > On 17 October 2011 15:56, Clinton Gormley [clint@traveljury.com](mailto:clint@traveljury.com) wrote:
> > 
> > > Hi Doug
> > > 
> > > > So if I installed elasticsearch on my 3 servers (all on the same  
> > > > network, with multicast enabled (is that an apt-get install?)),
> > > 
> > > ...however you install ES
> > > 
> > > > used the same clustername for them, and they could all see each other  
> > > > on post 9300, would ...
> > > > 
> > > > 1. An index created on one with 2 replicas automatically replicate  
> > > > across the 3 servers?
> > > 
> > > Yes
> > > 
> > > > 1. A document indexed to one server automatically be replicated to 2  
> > > > other replicas on the other two servers?
> > > 
> > > Yes
> > > 
> > > > 1. A fallen-over node be able to bring itself back up, repair itself,  
> > > > and add itself back into the cluster? Would the service wrapper do  
> > > > this?
> > > 
> > > Well, depends...
> > > 
> > > If a node dies, the service wrapper should restart it.
> > > 
> > > If a node leaves the cluster for some reason (eg network outage) then it  
> > > won't rejoin the cluster automatically (unless something has changed  
> > > recently that I don't know about).
> > > 
> > > You would have to stop and start the node manually for it to rejoin the  
> > > cluster. And it is possible that you could have docs indexed just to  
> > > this node and not to the other two nodes, which you would then lose.  
> > > There is no conflict resolution available.
> > > 
> > > Have a look at "Write consistency" on this page:  
> > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/api/index_.html)
> > > 
> > > clint

---

<div class="post-metadata">

**Author:** ![doug\_livesey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/doug_livesey/32/2114_2.png) [@doug\_livesey](https://discuss.elastic.co/u/doug_livesey)\
**Post date:** [October 18, 2011, 8:22am UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/25 "2011-10-18T08:22:01Z")

</div>

Excellent, so literally the only thing I need to worry about with regards to  
redundancy is implementing failover on the IP of the node I call.  
Thanks very much,  
Doug.

On 18 October 2011 01:06, Shay Banon [kimchy@gmail.com](mailto:kimchy@gmail.com) wrote:

> One more think that I am not 100% sure that was explained in this  
> discussion, is that when you search on a node, the search will automatically  
> be balanced and executed across several shards (matching the search  
> request), and balanced across several nodes. So, elasticsearch will do the  
> distributed search part for you.
> 
> Even if you have 1 index, with 5 shards, and 2 replicas on 3 node cluster,  
> the search request will end up executed on 5 different shards, across  
> several nodes.
> 
> On Mon, Oct 17, 2011 at 11:40 PM, Lukáš Vlček [lukas.vlcek@gmail.com](mailto:lukas.vlcek@gmail.com)wrote:
> 
> > Hi,
> > 
> > Nodes talk to each other through proprietary binary protocol, by default  
> > it is bound to ports starting at 9300. However, it can be fully customized:  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/transport.html)
> > 
> > Every node can also expose its API via HTTP, by default this is allowed  
> > and is bound to ports starting at 9200. This can be customized as well:  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/http.html)  
> > This is what many [third-party] clients use to talk to nodes in cluster.
> > 
> > Regards,  
> > Lukas
> > 
> > On Mon, Oct 17, 2011 at 11:30 PM, doug livesey [biot023@gmail.com](mailto:biot023@gmail.com) wrote:
> > 
> > > That's fantastic, thankyou very much for answering so fully and  
> > > patiently.  
> > > I have just one last question -- is it definitely port 9300 that the  
> > > nodes need to be able to see each other on, rather than 9200 (like for local  
> > > development)?  
> > > & thanks again,  
> > > Doug.
> > > 
> > > On 17 October 2011 15:56, Clinton Gormley [clint@traveljury.com](mailto:clint@traveljury.com) wrote:
> > > 
> > > > Hi Doug
> > > > 
> > > > > So if I installed elasticsearch on my 3 servers (all on the same  
> > > > > network, with multicast enabled (is that an apt-get install?)),
> > > > 
> > > > ...however you install ES
> > > > 
> > > > > used the same clustername for them, and they could all see each other  
> > > > > on post 9300, would ...
> > > > > 
> > > > > 1. An index created on one with 2 replicas automatically replicate  
> > > > > across the 3 servers?
> > > > 
> > > > Yes
> > > > 
> > > > > 1. A document indexed to one server automatically be replicated to 2  
> > > > > other replicas on the other two servers?
> > > > 
> > > > Yes
> > > > 
> > > > > 1. A fallen-over node be able to bring itself back up, repair itself,  
> > > > > and add itself back into the cluster? Would the service wrapper do  
> > > > > this?
> > > > 
> > > > Well, depends...
> > > > 
> > > > If a node dies, the service wrapper should restart it.
> > > > 
> > > > If a node leaves the cluster for some reason (eg network outage) then it  
> > > > won't rejoin the cluster automatically (unless something has changed  
> > > > recently that I don't know about).
> > > > 
> > > > You would have to stop and start the node manually for it to rejoin the  
> > > > cluster. And it is possible that you could have docs indexed just to  
> > > > this node and not to the other two nodes, which you would then lose.  
> > > > There is no conflict resolution available.
> > > > 
> > > > Have a look at "Write consistency" on this page:  
> > > > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/api/index_.html)
> > > > 
> > > > clint

---

<div class="post-metadata">

**Author:** ![amitsoni50](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@amitsoni50](https://discuss.elastic.co/u/amitsoni50)\
**Post date:** [May 31, 2013, 7:54am UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/26 "2013-05-31T07:54:38Z")

</div>

Hi - So if I want my client to be aware of just one IP and if I want the load balancing to be automatically happen within ES, do I need to put something like Apache fail over mechanism before ES?  
The reason is that I dont want my clients to be aware of any nodes except just one destination address.

---

<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 6, 2017, 2:33am UTC](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612/27 "2017-07-06T02:33:42Z")

</div>



[Previous page](https://discuss.elastic.co/t/recommended-setup-configuration-for-3-servers/5612.md?page=1)
