I've just finished standing up a 10 node Elasticsearch 7.2 cluster on CentOS VMs in our data center. Now I want to download App Search and play with it. I'm a little confused as to where it needs to be installed. The documentation for a production ready installation is very sparse and I don't think there are RMPs available yet.
So here is my initial questions. Does App Search get installed on each node of a cluster or does it get installed on a single node? Should it be installed on a member node of the cluster or on it's own server? Are there any installation docs for a production ready installation?
The documentation is bare bones... But we'll make it better.
I'd like to give you some more colour:
Elastic App Search is a separate piece of software that relies on Elasticsearch as its data store. It is deployed and managed separately from the underlying Elasticsearch infrastructure. For relatively small installations you can co-locate Elasticsearch and App Search, but for larger deployments we would recommend hosting them separately.
App Search refers to Elasticsearch using a single HTTP(S) endpoint.
You can configure it in app_search.yml in the elasticsearch section:
If you have more than one Elasticsearch node - which we'd recommend for production deployment - you need to figure out how you want to distribute traffic across the Elasticsearch cluster. There are multiple options that you could employ that are outside of the scope for this discussion, but the options usually boil down to...
A load balancer in front of the cluster. You can use one or more servers and balance traffic across the cluster since all instances within the cluster are stateless and completely interchangeable.
Using an Elasticserach coordinating node co-located with App Search instances.
For development/testing purposes, you can point App Search at any Elasticsearch node in your cluster and App Search will work as long as that node is alive, and you can just deploy a single instance.
Finally, if you run more than one App Search instance or you deploy it on anything other that localhost, you need to make sure that whatever address you use to reach App Search deployment is set as app_search.external_url in app_search.yml.
Hopefully this helps.
Please let me know what else you discover and whether you have any feedback.
I figured most of these out and have App Search up and running. It wasn't that difficult once I downloaded it and got beyond the initial fear factor.
I did setup a Virtual Server on our NetScaler load balancer and distribute port 9200 across all ten nodes so I'm properly distributing the load and the load balancer will handle a node going down and redirect traffic to the live nodes. I do like the idea of making each App Search node co-locate a coordinating node. I may play with that if we need to go beyond a single App Search node.
The one questions that I still have is about how to make App Search run as a service instead of running on the command line. This way I can get it to automatically start up on a server restart. As it is, this is still a manual process.
Thanks again and I look forward to seeing this product evolve.
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.