Elasticsearch is a search server/engine based on Apache Lucene. It provides a multi-node distributed full-text search engine with an HTTP web interface and sophisticated RESTful API. Elasticsearch is developed in Java and is released as open source under the terms of the Apache License.
There are several types of nodes in Elasticsearch architecture:
- Master-eligible node – eligible to be elected as Master node, which controls the cluster.
- Data node – holds data and performs data related operations such as search, and aggregations
- Client node – acts as a “router” forwarding cluster-level requests to the master node and data-related requests (such as search) to the data nodes
- Tribe node – special type of client node that can connect to multiple clusters and perform data-related operations across clusters
In this tutorial we will install Elasticsearch Cluster on three Centos 7 based nodes: Master-eligible node, Data node and Client node.