# Coordinating node

**URL:** <https://discuss.elastic.co/t/coordinating-node/174555>\
**Category:** Elasticsearch\
**Created:** [March 29, 2019, 3:05pm UTC](https://discuss.elastic.co/t/coordinating-node/174555 "2019-03-29T15:05:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jast](https://avatars.discourse-cdn.com/v4/letter/j/ed655f/32.png) [@jast](https://discuss.elastic.co/u/jast)\
**Post date:** [March 29, 2019, 3:05pm UTC](https://discuss.elastic.co/t/coordinating-node/174555/1 "2019-03-29T15:05:51Z")

</div>

Hi,

I need help/advise to build my elasticsearch cluster with a coordinating node, I have the following

Server A - MasterData Node  
cluster.name: soc-stage  
node.name: es-serverA  
path.data: /var/lib/elasticsearch  
path.logs: /var/log/elasticsearch  
transport.tcp.port: 9300  
network.host: 10.XX.XX.1  
node.master: true  
node.data: true

Server B - MasterData Node  
cluster.name: soc-stage  
node.name: es-serverB  
path.data: /var/lib/elasticsearch  
path.logs: /var/log/elasticsearch  
transport.tcp.port: 9300  
network.host: 10.XX.XX.2  
node.master: true  
node.data: true

ServerC - Coordinating Node  
cluster.name: soc-stage  
node.name: es-coordinate-node  
path.data: /var/lib/elasticsearch  
path.logs: /var/log/elasticsearch  
transport.host: 10.XX.XX.3  
transport.tcp.port: 9300  
http.port: 9200  
network.host: localhost  
node.master: false  
node.data: false  
node.ingest: false

In the Server C (coorinatind node) Kibana is also installed.

The problem is with the coordinating node, it detects one server when I use curl to get the index list, I mean I'm only receiving the indexes from onse server, and the idea is to get all the indexes list from the two servers.

Is it posible to do it?

Thanks

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 29, 2019, 3:14pm UTC](https://discuss.elastic.co/t/coordinating-node/174555/2 "2019-03-29T15:14:37Z")

</div>

You have three master-eligible nodes so you should set [`discovery.zen.minimum_master_nodes: 2`](https://www.elastic.co/guide/en/elasticsearch/reference/6.7/discovery-settings.html#minimum_master_nodes) on every node.

---

<div class="post-metadata">

**Author:** ![jast](https://avatars.discourse-cdn.com/v4/letter/j/ed655f/32.png) [@jast](https://discuss.elastic.co/u/jast)\
**Post date:** [March 29, 2019, 3:54pm UTC](https://discuss.elastic.co/t/coordinating-node/174555/3 "2019-03-29T15:54:08Z")

</div>

I'm confused, I think I have two master-eligible nodes, or Should coordinating-node work as master-eligible node too?  
The problem if I set the discovery.zen.minimum\_master\_nodes: 2 in all my nodes, I will have indexes in all the nodes, and the purpose of mi project is, indexes from server A should be only there and indexes from server B should be only there. I mean indexes from server A should not be in the server B and indexes from server B should not be in server A.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 29, 2019, 3:57pm UTC](https://discuss.elastic.co/t/coordinating-node/174555/4 "2019-03-29T15:57:11Z")

</div>

> [@jast](#):
>
> I'm confused, I think I have two master-eligible nodes, or Should coordinating-node work as master-eligible node too?

Apologies, I miscounted. You have two master-eligible nodes. You still must set `discovery.zen.minimum_master_nodes: 2`, because the formula is `(master_eligible_nodes / 2) + 1`

> [@jast](#):
>
> I mean indexes from server A should not be in the server B and indexes from server B should not be in server A.

I think you are perhaps looking for [shard allocation filtering](https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-allocation-filtering.html). The setup you describe will form two separate clusters and the coordinating node will not be able to join both.

---

<div class="post-metadata">

**Author:** ![jast](https://avatars.discourse-cdn.com/v4/letter/j/ed655f/32.png) [@jast](https://discuss.elastic.co/u/jast)\
**Post date:** [March 29, 2019, 5:01pm UTC](https://discuss.elastic.co/t/coordinating-node/174555/5 "2019-03-29T17:01:01Z")

</div>

I don't understand the shard allocation filtering, is there another way to perform the configuration to my proyect?

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 30, 2019, 8:00am UTC](https://discuss.elastic.co/t/coordinating-node/174555/6 "2019-03-30T08:00:12Z")

</div>

It's not really clear what you're trying to achieve. I am, however, certain that you must set `discovery.zen.minimum_master_nodes: 2` for this cluster to form correctly. If you do not, it will sometimes work but will [eventually lose your data](https://www.elastic.co/guide/en/elasticsearch/reference/6.7/modules-node.html#split-brain). You also need to configure [`discovery.zen.ping.unicast.hosts`](https://www.elastic.co/guide/en/elasticsearch/reference/6.7/discovery-settings.html#unicast.hosts) so that each node can find the other ones.

You said that you want to isolate some indices on `es-serverA` and others on `es-serverB`. You can do this with shard allocation filtering by setting `index.routing.allocation.require._name: "es-serverA"` on the indices that should only live on `es-serverA`, and similarly for the ones that should only live on `es-serverB`.

I do not think you actually want to do this, because if one or other server were to fail then you would lose all the data on that server. Elasticsearch automatically replicates all its data so that, by default, it has two copies of every index on different nodes. It also makes sure that all data is accessible on every node so you don't need to worry about where the data actually is stored.

Can you explain why you want to avoid replication and to isolate the indices as you describe?

---

<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:** [April 27, 2019, 8:00am UTC](https://discuss.elastic.co/t/coordinating-node/174555/7 "2019-04-27T08:00:13Z")

</div>

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