I am studying on ES node storage and would like to have an idea on what is the best practice/recommendation hardware config for a ES node, and what is the capability of it. Yet, got confused on that.
Based on my understanding on the information from Elastic, considered to deploy a single on-premise ES node in this environment:
- Daily log size: 6GB
- Log retention: 6 months
- Shards frequency: Daily
From this,
- estimated no. of shards will be 31 x 6 = 186 shards and,
- total size will be 186 x 6 = 1116 GB
Based on this, the ES node should configured with:
-
Heap size >= 5.9 GB (186 / 20)
https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster
“A good rule-of-thumb is to ensure you keep the number of shards per node below 20 per GB heap it has configured” -
RAM >= 12 GB
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
“Set Xmx ( heap size ) to no more than 50% of your physical RAM”
As a conclusion, the ES node I am going to have should configured with at least:
- CPU = 8 core
- RAM = 12GB
- Storage = 1116GB
Does anyone know if I am estimating the machine size correctly or not? Many thanks!
Other ref:
https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html#_memory
A machine with 64 GB of RAM is the ideal sweet spot