# Node related queries

**URL:** <https://discuss.elastic.co/t/node-related-queries/37823>\
**Category:** Elasticsearch\
**Created:** [December 23, 2015, 6:59am UTC](https://discuss.elastic.co/t/node-related-queries/37823 "2015-12-23T06:59:23Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Navneet\_Mathpal](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/navneet_mathpal/32/3677_2.png) [@Navneet\_Mathpal](https://discuss.elastic.co/u/Navneet_Mathpal)\
**Post date:** [December 23, 2015, 6:59am UTC](https://discuss.elastic.co/t/node-related-queries/37823/1 "2015-12-23T06:59:24Z")

</div>

Hi ,  
I have 2 master node , 2 data node and 1 client node

I have some queries regrading the node distribution .

1. Does client node help in indexing the data into data node ?
2. Is it a good practice that data should send to master node for indexing ? (currently I am sending my data from logstash to dedicated master node ) . if not shall I send my data directly to data node ?

Best Regards,  
Navneet

---

<div class="post-metadata">

**Author:** ![SKumarMN](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skumarmn/32/27537_2.png) [@SKumarMN](https://discuss.elastic.co/u/SKumarMN)\
**Post date:** [December 23, 2015, 7:17am UTC](https://discuss.elastic.co/t/node-related-queries/37823/2 "2015-12-23T07:17:32Z")

</div>

As per the doc in [https://www.elastic.co/guide/en/elasticsearch/reference/1.4/modules-node.html](https://www.elastic.co/guide/en/elasticsearch/reference/1.4/modules-node.html)

_"By reducing the amount of resource intensive work that these nodes do (in other words, do not send index or search requests to these dedicated master nodes), we greatly reduce the chance of cluster instability"_

It is not a good practice to send indexing data to master node.

I don't think client node help in indexing data.

---

<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:** [December 23, 2015, 9:49pm UTC](https://discuss.elastic.co/t/node-related-queries/37823/3 "2015-12-23T21:49:04Z")

</div>

1 - Yes  
2 - No, send it to the client node.

Also having two master nodes is kind of pointless, you should have 3 if you want dedicated ones. However given the size of your cluster I wouldn't really bother with them at all.

---

<div class="post-metadata">

**Author:** ![SKumarMN](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skumarmn/32/27537_2.png) [@SKumarMN](https://discuss.elastic.co/u/SKumarMN)\
**Post date:** [December 24, 2015, 3:46am UTC](https://discuss.elastic.co/t/node-related-queries/37823/4 "2015-12-24T03:46:51Z")

</div>

How does client node help in indexing the data? Can you please elaborate on this. It would help me to understand stuff better. As per the docs I have read it assists in search and aggs operation.

---

<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:** [December 24, 2015, 3:48am UTC](https://discuss.elastic.co/t/node-related-queries/37823/5 "2015-12-24T03:48:10Z")

</div>

If you send indexing to it it will just reroute the request to whichever node has the shard for the document.  
You do run a chance of OOMing your master node by sending indexing requests through them, so if you have a client node you might as well use it!

---

<div class="post-metadata">

**Author:** ![SKumarMN](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skumarmn/32/27537_2.png) [@SKumarMN](https://discuss.elastic.co/u/SKumarMN)\
**Post date:** [December 24, 2015, 3:55am UTC](https://discuss.elastic.co/t/node-related-queries/37823/6 "2015-12-24T03:55:52Z")

</div>

Thanks.

Another question somewhat related to this

As each node knows which node to route the request to... would it be still beneficial to have a load balancer in front of your cluster say of 3 nodes routing the requests to each node in round-robin fashion ?

Or would it be be good design to have one client node with 2 data nodes in cluster.

or there would be no need of balancer at all in 3 node cluster?

---

<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:** [December 24, 2015, 5:41am UTC](https://discuss.elastic.co/t/node-related-queries/37823/7 "2015-12-24T05:41:13Z")

</div>

An LB can still be useful if a node goes down (restart, whatever).

---

<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, 11:28pm UTC](https://discuss.elastic.co/t/node-related-queries/37823/8 "2017-07-05T23:28:57Z")

</div>


