Discovery and recovery modules
When an Elasticsearch node is started, it looks out for an initial list of hosts which are master eligible to perform discovery of other nodes in the cluster. The default list of master eligible hosts is ["127.0.0.1", "[::1]"]
, which means by default that each Elasticsearch node can only discover itself and cannot find another node. This behavior was introduced in Elasticsearch version 2.0. Before that, Elasticsearch, by default, used to assume that the cluster was automatically formed by the nodes that declare the same cluster.name
setting and can communicate with each other using multicast requests.
The process of forming a cluster and finding nodes is called discovery. The module responsible for discovery has two main purposes: electing a master and discovering new nodes within a cluster.
After the cluster is formed, a process called recovery is started. During the recovery process, Elasticsearch reads the metadata and the indices from the gateway, and prepares...