Is there any particular recommendation against giving different nodes a different amount of heap ?
I have a cluster with 10 nodes, each has 32Go of RAM but 2 have - for now - only 24Go
I would like to maximize the heap on each node so give 16Go to the 32Go nodes and 12Go to the 24Go nodes (and maybe find a way to prioritize high heap nodes for some queries)
Is it not recommended ? Would it be better to give 12Go to all nodes ?
Is there an environment variable I can use in jvm.options to specify that I want half the RAM on all nodes ?
You'd be better off giving all nodes the same, lower, amount. The rest of the memory won't go to waste, and you'll make sure you have standardised configs.
Otherwise you may find that the lower specced node will hit limits sooner, causing slow indexing/queries, potential OOM, and other issues.
Agreed standard are good, especially if the RAM will get fixed soon, and if no performance issues, else I can see using more in the bigger machines, just because you can. Depending on arch, also make them Master nodes since 12G of Heap should be plenty with reasonable index/shard counts, and raise the data nodes. But of course any variability can induce result variability; on that size cluster, easy to do rolling adjustments, too (set your delayed_timeout).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.