Hello, I am about using Elasticsearch as component of a standalone application, running on a single node. The application will run on a pretty decent dedicated consumer machine (i7 7xxx/2c/4t, 16/32 gb of RAM, pcie SSD), running Linux.
Elasticsearch is used for:
secondary data store (300K small documents of less than 1 KB each a day)
analytics (a couple of aggregations used by the application to computer some KPI every hour or so, performances are good so far)
Hardware/software failures are not critical: downtimes and partial data losses are tollerated.
What are best practices/suggestions/points to consider?
I do something very similar but spread out over 3 AWS t2 instances (our system load is not that intense). Web server, database server (postgresql), and search server (elasticsearch). The reason for this setup is so that you can allocate and lock system memory for elasticsearch, without affecting other processes.
My systems have far more modest amounts of RAM, so you might be able to get away with allocating/locking a portion of that 32GB memory for elasticsearch. Regardless, memory and IO would be top of mind for a single node ES configuration.
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.