# Node Specialization

**URL:** <https://discuss.elastic.co/t/node-specialization/13736>\
**Category:** Elasticsearch\
**Created:** [September 24, 2013, 2:00pm UTC](https://discuss.elastic.co/t/node-specialization/13736 "2013-09-24T14:00:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Murad\_K](https://avatars.discourse-cdn.com/v4/letter/m/5fc32e/32.png) [@Murad\_K](https://discuss.elastic.co/u/Murad_K)\
**Post date:** [September 24, 2013, 2:00pm UTC](https://discuss.elastic.co/t/node-specialization/13736/1 "2013-09-24T14:00:45Z")

</div>

So I've been reading around in regards to specializing node functionality  
(master vs data vs client) and haven't found concrete answers. I found one  
nabble post where the topic starter had asked something similar to what I'm  
wondering, but it wasn't fully answered (or I wasn't able to get enough  
info out of the answers). So, what I'm wondering is if:

a) there's any benefit to specializing nodes into the following categories:

1. Dedicated Master (node.master=true node.data=false)
2. Dedicated Data (node.master=false, node.data=true, http.enabled=false)
3. Dedicated Client(node.master=false, node.data=false,  
http.enabled=true)

The post I read mentioned that having a "load balancing node" or a  
dedicated client wouldn't help much. Can anyone explain why? I guess I'm  
wondering what functionality would such a node actually end up doing versus  
what is sent to the data nodes to fulfill (I assume queries are completed  
by the data nodes, but are filters done by them too or by the client)?

Also, it was mentioned that having dedicated masters would be helpful for  
larger clusters (e.g., 200 data nodes) to minimize split-brain problems.  
I'm assuming this still holds true? Would it still be helpful for smaller  
clusters (~10 nodes) to have dedicated masters?

b) Recommended memory requirements for dedicated nodes. I can assume  
dedicated data nodes will need a lot of both CPU and RAM (akin to regular,  
default ES nodes). But what about a dedicated master? Would using the  
default JVM settings be okay? Assuming having a dedicated client is even  
useful, would it use a lot of CPU and RAM given a high number of requests?

Thanks!

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<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:14am UTC](https://discuss.elastic.co/t/node-specialization/13736/2 "2017-07-06T02:14:54Z")

</div>


