I have 3 separate web applications, for each of which I am planning to use Elasticsearch 5.2 as a full-text search engine. All apps are physically located on the same hardware. Hardware capabilities are the following: 21-core CPU, 40 Gb of RAM (10 GB are used by webapps, thus 30 are free), about 200 GB of free disk space. I am limited to only this hardware, therefore I cannot provide separate servers for elasticseach instances. Considering these conditions, which type of setup I should choose? I am assuming that for each webapp I would have to launch separate elastic instance, right? And how do I not run out of available memory, if I do so? Maybe it is possible to run ES with memory usage constraints and at the same time not seriously affect search performance?
No. One single node per machine is preferable.
So the minimum viable setup for 3 separate webapps is to move each webapp onto the separate machine and launch ES node for each, OR second - to launch one machine for each ES node and host webapps somewhere else, am I right?
You wrote;
So based on that my answer is only one node but one index per application (web app).
If you can other hardware, I'd dedicate machines to elasticsearch. But it depends on what kind of usage you have as well. I mean that it can be fine to share a physical machine with a webapp IMO depending on the traffic you get.
My 2 cents
Hello, in my case i run on 1 server: elasticsearch node(2.3.4) + tomcat server,
and in another server - second elastcisearch node(2.3.4)+tomcat server.
ELK has been working in cluster.
i recommend you make your test environment accordingly productive.
Ok, thanks. What if I launch only one node, that would contain indexes for three webapps? The total number of indexed database rows is about 2 millions.
in my opinion, you should tested, necessary knowledges you will gain only with practice or from BigBrother .
it won't take many times
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.