# Cluster configuration

**URL:** <https://discuss.elastic.co/t/cluster-configuration/8202>\
**Category:** Elasticsearch\
**Created:** [June 23, 2012, 6:17am UTC](https://discuss.elastic.co/t/cluster-configuration/8202 "2012-06-23T06:17:29Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![sujan\_dutta](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sujan_dutta/32/2041_2.png) [@sujan\_dutta](https://discuss.elastic.co/u/sujan_dutta)\
**Post date:** [June 23, 2012, 6:17am UTC](https://discuss.elastic.co/t/cluster-configuration/8202/1 "2012-06-23T06:17:29Z")

</div>

what is the difference between master node and load balanced node ?

i can create a master node and data node  
by  
node.master : true and node.data : true

how do i create http client node ?  
node.client : true  
http.enabled : true

how about creating load balanced node ?

---

<div class="post-metadata">

**Author:** ![Radu\_Gheorghe1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/radu_gheorghe1/32/2688_2.png) [@Radu\_Gheorghe1](https://discuss.elastic.co/u/Radu_Gheorghe1)\
**Post date:** [June 24, 2012, 1:48pm UTC](https://discuss.elastic.co/t/cluster-configuration/8202/2 "2012-06-24T13:48:42Z")

</div>

"A master in elasticsearch is responsible for handling nodes coming  
and going and allocation of shards." (quoting Shay)

Now here comes my own understanding:

A master may hold data or not. A "load balancer" would be a node that  
doesn't hold data (node.data: false), but has the HTTP transport  
enabled. From what I know it doesn't need to be a master as well. The  
idea is that client apps would send requests to it, and the load  
balancer would forward the requests to the nodes having the needed  
shards, and also gather the results.

Then, you would have "load balanced" nodes, if you will. Those would  
be nodes that hold data, but with HTTP transport disabled  
(http.enabled: false). They will only be "workhorses" and won't be  
bothered with stuff like HTTP requests for clients or redirecting  
requests to other data nodes.

An you can find more on this scenario here:

> **[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.

On 23 iun., 09:17, stoned7 [sujandu...@gmail.com](mailto:sujandu...@gmail.com) wrote:

> what is the difference between master node and load balanced node ?
> 
> i can create a master node and data node  
> by  
> node.master : true and node.data : true
> 
> how do i create http client node ?  
> node.client : true  
> http.enabled : true
> 
> how about creating load balanced node ?

---

<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:** [June 25, 2012, 12:11pm UTC](https://discuss.elastic.co/t/cluster-configuration/8202/3 "2012-06-25T12:11:06Z")

</div>

Its pretty simple:

1. node.master set to true means that node can be elected to become a  
master in cluster.
2. node.data set to true means that a node will be allocated with shards  
("data").

Setting both to false (or simply setting node.client to true) will cause  
the node to act as a client to the cluster, potentially acting as a load  
balancer.

On Sun, Jun 24, 2012 at 3:48 PM, Radu Gheorghe [radu0gheorghe@gmail.com](mailto:radu0gheorghe@gmail.com)wrote:

> "A master in elasticsearch is responsible for handling nodes coming  
> and going and allocation of shards." (quoting Shay)
> 
> Now here comes my own understanding:
> 
> A master may hold data or not. A "load balancer" would be a node that  
> doesn't hold data (node.data: false), but has the HTTP transport  
> enabled. From what I know it doesn't need to be a master as well. The  
> idea is that client apps would send requests to it, and the load  
> balancer would forward the requests to the nodes having the needed  
> shards, and also gather the results.
> 
> Then, you would have "load balanced" nodes, if you will. Those would  
> be nodes that hold data, but with HTTP transport disabled  
> (http.enabled: false). They will only be "workhorses" and won't be  
> bothered with stuff like HTTP requests for clients or redirecting  
> requests to other data nodes.
> 
> An you can find more on this scenario here:  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/node.html)
> 
> On 23 iun., 09:17, stoned7 [sujandu...@gmail.com](mailto:sujandu...@gmail.com) wrote:
> 
> > what is the difference between master node and load balanced node ?
> > 
> > i can create a master node and data node  
> > by  
> > node.master : true and node.data : true
> > 
> > how do i create http client node ?  
> > node.client : true  
> > http.enabled : true
> > 
> > how about creating load balanced node ?

---

<div class="post-metadata">

**Author:** ![Douglas\_Ferguson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/douglas_ferguson/32/2121_2.png) [@Douglas\_Ferguson](https://discuss.elastic.co/u/Douglas_Ferguson)\
**Post date:** [September 29, 2012, 9:45am UTC](https://discuss.elastic.co/t/cluster-configuration/8202/4 "2012-09-29T09:45:15Z")

</div>

If I am going to start out with 2 machines would it be sensible to

1. set both node.master & node.data to true on both machines
2. put a real load balancer in front of them and just round robin between  
them?

I am in ec2 so that ec2 plugin sounds appealing, i.e. if I spin up a  
machine with the correct tags it will join the cluster. Not sure about the  
implication of having tons of noes with both (master & data set to true  
though.

Also, is there any reason not to run elasticsearch on the same machine as  
apache/tomcat?

On Monday, June 25, 2012 7:11:06 AM UTC-5, kimchy wrote:

> Its pretty simple:
> 
> 1. node.master set to true means that node can be elected to become a  
> master in cluster.
> 2. node.data set to true means that a node will be allocated with shards  
> ("data").
> 
> Setting both to false (or simply setting node.client to true) will cause  
> the node to act as a client to the cluster, potentially acting as a load  
> balancer.
> 
> On Sun, Jun 24, 2012 at 3:48 PM, Radu Gheorghe \<[radu0g...@gmail.com](mailto:radu0g...@gmail.com)\<javascript:\>
> 
> > wrote:
> 
> > "A master in elasticsearch is responsible for handling nodes coming  
> > and going and allocation of shards." (quoting Shay)
> > 
> > Now here comes my own understanding:
> > 
> > A master may hold data or not. A "load balancer" would be a node that  
> > doesn't hold data (node.data: false), but has the HTTP transport  
> > enabled. From what I know it doesn't need to be a master as well. The  
> > idea is that client apps would send requests to it, and the load  
> > balancer would forward the requests to the nodes having the needed  
> > shards, and also gather the results.
> > 
> > Then, you would have "load balanced" nodes, if you will. Those would  
> > be nodes that hold data, but with HTTP transport disabled  
> > (http.enabled: false). They will only be "workhorses" and won't be  
> > bothered with stuff like HTTP requests for clients or redirecting  
> > requests to other data nodes.
> > 
> > An you can find more on this scenario here:  
> > [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/node.html)
> > 
> > On 23 iun., 09:17, stoned7 [sujandu...@gmail.com](mailto:sujandu...@gmail.com) wrote:
> > 
> > > what is the difference between master node and load balanced node ?
> > > 
> > > i can create a master node and data node  
> > > by  
> > > node.master : true and node.data : true
> > > 
> > > how do i create http client node ?  
> > > node.client : true  
> > > http.enabled : true
> > > 
> > > how about creating load balanced 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:** [July 6, 2017, 3:10am UTC](https://discuss.elastic.co/t/cluster-configuration/8202/5 "2017-07-06T03:10:46Z")

</div>


