# Cluster, 3 severs (with 3 nodes) and I need coordinating node

**URL:** <https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079>\
**Category:** Elasticsearch\
**Created:** [February 1, 2018, 5:30pm UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079 "2018-02-01T17:30:04Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 1, 2018, 5:30pm UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/1 "2018-02-01T17:30:04Z")

</div>

Hello.

I'm preparing the production platform and I have some mistakes. Now I have available 3 servers working with 3 ES nodes, but I need a coordinating node due a load balancing. I prefer coordinating node than DNS round robin and I can't do in client side. Also I have checked HAproxy and I prefer the ES solution.

Can one server act as data node and coordinating node at the same server? is it fine?

I know the best scenario is start with 3 nodes as follows, this is the config I have now and coordination node in another but I haven't more hardware inmediatly. My app is going to Node2 but with no balancing now, if node2 fails the app doesn't work. This is the actual config:

**Node1:**  
[cluster.name](http://cluster.name): Cluster\_mine  
[node.name](http://node.name): "node1"  
node.master: true  
node.data: true  
discovery.zen.ping.multicast.enabled: false  
discovery.zen.ping.unicast.hosts: ["node2", "node3"]  
discovery.zen.minimum\_master\_nodes: 2

**Node2:**  
[cluster.name](http://cluster.name): Cluster\_mine  
[node.name](http://node.name): "node2"  
node.master: True  
node.data: true  
discovery.zen.ping.multicast.enabled: false  
discovery.zen.ping.unicast.hosts: ["node1","node3"]  
discovery.zen.minimum\_master\_nodes: 2  
Node3:

**Node3:**  
[cluster.name](http://cluster.name): Cluster\_mine  
[node.name](http://node.name): "node3"  
node.master: true  
node.data: false  
discovery.zen.ping.multicast.enabled: false  
discovery.zen.ping.unicast.hosts: ["node1", "node2"]  
discovery.zen.minimum\_master\_nodes: 2

Can anybody help me, please? How I can get load balancing and configure the cluster with the best roadmap?

thanks in advance

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [February 1, 2018, 8:05pm UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/2 "2018-02-01T20:05:03Z")

</div>

> [@Juanps2](#):
>
> I can't do in client side.

Why not the client?

> [@Juanps2](#):
>
> Can one server act as data node and coordinating node at the same server? is it fine?

By default a node is a master, data and coordinating node.

> [@Juanps2](#):
>
> discovery.zen.ping.multicast.enabled: false

That's not needed these days.

---

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 2, 2018, 8:13am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/3 "2018-02-02T08:13:53Z")

</div>

"By default a node is a master, data and coordinating node." I don´t understand it, if I call to any node does load balancing?

In client side we are using asp .NET and not an api due I didn't found any to do the call to ES. Here I have attached an example of our code.

byte[] byteArray = Encoding.UTF8.GetBytes(json); // Here goes the filters

```
    HttpWebRequest webRequest;
    HttpWebResponse webResponse;

    webRequest = (HttpWebRequest)WebRequest.Create(http://192.168.52.33:9200/Vinzeo_index/_search);
    webRequest.Credentials = CredentialCache.DefaultCredentials;
    webRequest.Method = WebRequestMethods.Http.Post;
    webRequest.ContentLength = byteArray.Length;

    webRequest.Accept = "application/json";
    webRequest.ContentType = "application/json";

```

Thanks and BR

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [February 2, 2018, 8:39am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/4 "2018-02-02T08:39:56Z")

</div>

> [@Juanps2](#):
>
> if I call to any node does load balancing?

No, nodes do not load balance.

> [@Juanps2](#):
>
> In client side we are using asp .NET and not an api due I didn't found any to do the call to ES

Are you using our library? If not you should, it will handle things like load balancing for you.

---

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 2, 2018, 8:49am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/5 "2018-02-02T08:49:35Z")

</div>

Yes. I know the nodes doesn't do load balancing, is for this reason I'm thinking to put a ES node acting as coordinating mode (without data) to do load balancing.  
Also I have checked to do with HAproxy or in our Citrix Netscaler but I prefere to avoid these solutions to not load other systems with additional work.

No. We are not using your library. We checked and for our app we prefer to create our own custom calls as I sent you. Now the app is working well and I need to go on production but I want high availability and load balancing in our nodes.

anything helping me about roadmap to follow? I need load balancing and high availability...

---

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 7, 2018, 10:28pm UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/6 "2018-02-07T22:28:37Z")

</div>

anybody can help me, Please?

I need to solve this situation to go to production!

If I haven't any answer I will try to put 3 nodes in a cluster for high availability and do the load balancing with the Netscaler...

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [February 7, 2018, 11:57pm UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/7 "2018-02-07T23:57:16Z")

</div>

Coordinating nodes do some degree of load balancing.

But if you aren't using our libraries, then the netscaler might be the best idea.

---

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 8, 2018, 8:18am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/8 "2018-02-08T08:18:58Z")

</div>

Hi,

I will try to put another node acting as coordinating node. I will start with this solution. I will add a node to the cluster and it will be 4 nodes

thanks for your help!!

---

<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:** [February 8, 2018, 8:36am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/9 "2018-02-08T08:36:35Z")

</div>

If you need high availability, you should either connect to more than one node and distribute load like our client libraries do or use a load balancer. Having a single coordinating node will make this a single point of failure.

---

<div class="post-metadata">

**Author:** ![Juanps2](https://avatars.discourse-cdn.com/v4/letter/j/bcef8e/32.png) [@Juanps2](https://discuss.elastic.co/u/Juanps2)\
**Post date:** [February 8, 2018, 8:50am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/10 "2018-02-08T08:50:10Z")

</div>

it's true... I have an alert in our application who tell me if the coordinating mode fails then the app change automatically the IP so the app point to another node...

---

<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:** [March 8, 2018, 8:50am UTC](https://discuss.elastic.co/t/cluster-3-severs-with-3-nodes-and-i-need-coordinating-node/118079/11 "2018-03-08T08:50:13Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
