# Okay to have really unbalanced nodes?

**URL:** <https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762>\
**Category:** Elasticsearch\
**Created:** [January 11, 2011, 12:39am UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762 "2011-01-11T00:39:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jalano](https://avatars.discourse-cdn.com/v4/letter/j/e56c9b/32.png) [@jalano](https://discuss.elastic.co/u/jalano)\
**Post date:** [January 11, 2011, 12:39am UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762/1 "2011-01-11T00:39:12Z")

</div>

Hi! I just got started with Elastic search, and I've been setting up  
nodes virtual machines I have using spare cpu around my existing  
setup.

I have about 20 gigs of indexes with 2 copies, so it uses about 60  
gigs of space total. I have 6 nodes, but each of them has very  
different capacities - 2 have 8 gigs of memory and 4 vcpus, 2 have 14  
gigs of memory and 4 vcpus, and 2 have 24 gigs of memory with 14  
vcpus! I have the Java ES\_MIN and ES\_MAX memory set at half of the  
physical memory for each box in all cases.

I noticed while running some tests that elasticsearch tends to put  
more data on the systems that have more memory. Is this a coincidence  
or is it actually looking at the amount of memory available, or the  
Java VM size, in determining where to relocate data?

---

<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:** [January 11, 2011, 7:38pm UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762/2 "2011-01-11T19:38:59Z")

</div>

It is a coincidence, though a planned future feature :). Currently, ES, when doing allocation, treats all nodes as equals.  
On Tuesday, January 11, 2011 at 2:39 AM, jalano wrote:

> Hi! I just got started with Elastic search, and I've been setting up  
> nodes virtual machines I have using spare cpu around my existing  
> setup.
> 
> I have about 20 gigs of indexes with 2 copies, so it uses about 60  
> gigs of space total. I have 6 nodes, but each of them has very  
> different capacities - 2 have 8 gigs of memory and 4 vcpus, 2 have 14  
> gigs of memory and 4 vcpus, and 2 have 24 gigs of memory with 14  
> vcpus! I have the Java ES\_MIN and ES\_MAX memory set at half of the  
> physical memory for each box in all cases.
> 
> I noticed while running some tests that elasticsearch tends to put  
> more data on the systems that have more memory. Is this a coincidence  
> or is it actually looking at the amount of memory available, or the  
> Java VM size, in determining where to relocate data?

---

<div class="post-metadata">

**Author:** ![Lukas\_Vlcek1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lukas_vlcek1/32/819_2.png) [@Lukas\_Vlcek1](https://discuss.elastic.co/u/Lukas_Vlcek1)\
**Post date:** [January 12, 2011, 11:14am UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762/3 "2011-01-12T11:14:05Z")

</div>

If there are more non-equal servers would it be a good strategy to take the  
most weak one, setup adequate ES node for it and then divide resources of  
the other machines equally? For example if you have machine with 2GB of RAM  
and 8GB of RAM then how about running one node on the 2GB machine and 4  
similar nodes on 8GB machine? This would not make nodes equal in terms of  
used CPUs but at least in terms of used RAM. Does such deployment strategy  
make sense?

Regards,

Lukas  
Dne 11.1.2011 20:39 "Shay Banon" [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com) napsal(a):

> It is a coincidence, though a planned future feature :). Currently, ES,  
> when doing allocation, treats all nodes as equals.  
> On Tuesday, January 11, 2011 at 2:39 AM, jalano wrote:
> 
> > Hi! I just got started with Elastic search, and I've been setting up  
> > nodes virtual machines I have using spare cpu around my existing  
> > setup.
> > 
> > I have about 20 gigs of indexes with 2 copies, so it uses about 60  
> > gigs of space total. I have 6 nodes, but each of them has very  
> > different capacities - 2 have 8 gigs of memory and 4 vcpus, 2 have 14  
> > gigs of memory and 4 vcpus, and 2 have 24 gigs of memory with 14  
> > vcpus! I have the Java ES\_MIN and ES\_MAX memory set at half of the  
> > physical memory for each box in all cases.
> > 
> > I noticed while running some tests that elasticsearch tends to put  
> > more data on the systems that have more memory. Is this a coincidence  
> > or is it actually looking at the amount of memory available, or the  
> > Java VM size, in determining where to relocate data?

---

<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:** [January 12, 2011, 1:15pm UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762/4 "2011-01-12T13:15:33Z")

</div>

Yes, it does, you can certainly run more than one node on a machine. The only thing missing in that design is for ES to make sure that replicas are not allocated on the same _machine_, not node.  
On Wednesday, January 12, 2011 at 1:14 PM, LukÃ¡Å¡ VlÄek wrote:

> If there are more non-equal servers would it be a good strategy to take the most weak one, setup adequate ES node for it and then divide resources of the other machines equally? For example if you have machine with 2GB of RAM and 8GB of RAM then how about running one node on the 2GB machine and 4 similar nodes on 8GB machine? This would not make nodes equal in terms of used CPUs but at least in terms of used RAM. Does such deployment strategy make sense?  
> Regards,  
> Lukas  
> Dne 11.1.2011 20:39 "Shay Banon" [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com) napsal(a):
> 
> > It is a coincidence, though a planned future feature :). Currently, ES, when doing allocation, treats all nodes as equals.  
> > On Tuesday, January 11, 2011 at 2:39 AM, jalano wrote:
> > 
> > > Hi! I just got started with Elastic search, and I've been setting up  
> > > nodes virtual machines I have using spare cpu around my existing  
> > > setup.
> > > 
> > > I have about 20 gigs of indexes with 2 copies, so it uses about 60  
> > > gigs of space total. I have 6 nodes, but each of them has very  
> > > different capacities - 2 have 8 gigs of memory and 4 vcpus, 2 have 14  
> > > gigs of memory and 4 vcpus, and 2 have 24 gigs of memory with 14  
> > > vcpus! I have the Java ES\_MIN and ES\_MAX memory set at half of the  
> > > physical memory for each box in all cases.
> > > 
> > > I noticed while running some tests that elasticsearch tends to put  
> > > more data on the systems that have more memory. Is this a coincidence  
> > > or is it actually looking at the amount of memory available, or the  
> > > Java VM size, in determining where to relocate data?

---

<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, 4:14am UTC](https://discuss.elastic.co/t/okay-to-have-really-unbalanced-nodes/3762/5 "2017-07-06T04:14:00Z")

</div>


