Skip to content

Commit ec4e739

Browse files
committed
Combine discovery overviews
1 parent 8e34a77 commit ec4e739

File tree

1 file changed

+43
-31
lines changed

1 file changed

+43
-31
lines changed

docs/reference/modules/discovery/discovery.asciidoc

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,49 @@
11
[[modules-discovery-hosts-providers]]
22
=== Discovery
33

4-
The cluster formation module uses a list of _seed_ nodes in order to start off
5-
the discovery process. When you start an Elasticsearch node, or when a node
6-
believes the master node failed, that node tries to connect to each
7-
seed node in its list. After a connection occurs, the two nodes repeatedly share
8-
information about the other known master-eligible nodes in the cluster in order
9-
to build a complete picture of the cluster. By default the cluster formation
10-
module offers two hosts providers to configure the list of seed nodes: a
11-
_settings_-based and a _file_-based hosts provider. It can be extended to
12-
support cloud environments and other forms of hosts providers via
13-
{plugins}/discovery.html[discovery plugins]. Hosts providers are configured
14-
using the `discovery.zen.hosts_provider` setting, which defaults to the
15-
_settings_-based hosts provider. Multiple hosts providers can be specified as a
16-
list.
4+
Discovery is the process by which the cluster formation module finds other
5+
nodes with which to form a cluster. This process runs when you start an
6+
Elasticsearch node or when a node believes the master node failed and continues
7+
until the master node is found or a new master node is elected.
8+
9+
Discovery operates in two phases: First, each node probes the addresses of all
10+
known master-eligible nodes by connecting to each address and attempting to
11+
identify the node to which it is connected. Secondly it shares with the remote
12+
node a list of all of its known master-eligible peers and the remote node
13+
responds with _its_ peers in turn. The node then probes all the new nodes that
14+
it just discovered, requests their peers, and so on.
15+
16+
This process starts with a list of _seed_ addresses from one or more
17+
<<built-in-hosts-providers,hosts providers>>, together with the addresses of
18+
any master-eligible nodes that were in the last known cluster. The process
19+
operates in two phases: First, each node probes the seed addresses by
20+
connecting to each address and attempting to identify the node to which it is
21+
connected. Secondly it shares with the remote node a list of all of its known
22+
master-eligible peers and the remote node responds with _its_ peers in turn.
23+
The node then probes all the new nodes that it just discovered, requests their
24+
peers, and so on.
25+
26+
If the node is not master-eligible then it continues this discovery process
27+
until it has discovered an elected master node. If no elected master is
28+
discovered then the node will retry after `discovery.find_peers_interval` which
29+
defaults to `1s`.
30+
31+
If the node is master-eligible then it continues this discovery process until it
32+
has either discovered an elected master node or else it has discovered enough
33+
masterless master-eligible nodes to complete an election. If neither of these
34+
occur quickly enough then the node will retry after
35+
`discovery.find_peers_interval` which defaults to `1s`.
36+
37+
[[built-in-hosts-providers]]
38+
==== Hosts providers
39+
40+
By default the cluster formation module offers two hosts providers to configure
41+
the list of seed nodes: a _settings_-based and a _file_-based hosts provider.
42+
It can be extended to support cloud environments and other forms of hosts
43+
providers via {plugins}/discovery.html[discovery plugins]. Hosts providers are
44+
configured using the `discovery.zen.hosts_provider` setting, which defaults to
45+
the _settings_-based hosts provider. Multiple hosts providers can be specified
46+
as a list.
1747

1848
[float]
1949
[[settings-based-hosts-provider]]
@@ -131,24 +161,6 @@ that uses the GCE API find a list of seed nodes.
131161
[float]
132162
==== Discovery settings
133163

134-
Discovery operates in two phases: First, each node probes the addresses of all
135-
known master-eligible nodes by connecting to each address and attempting to
136-
identify the node to which it is connected. Secondly it shares with the remote
137-
node a list of all of its known master-eligible peers and the remote node
138-
responds with _its_ peers in turn. The node then probes all the new nodes that
139-
it just discovered, requests their peers, and so on.
140-
141-
If the node is not master-eligible then it continues this discovery process
142-
until it has discovered an elected master node. If no elected master is
143-
discovered then the node will retry after `discovery.find_peers_interval` which
144-
defaults to `1s`.
145-
146-
If the node is master-eligible then it continues this discovery process until it
147-
has either discovered an elected master node or else it has discovered enough
148-
masterless master-eligible nodes to complete an election. If neither of these
149-
occur quickly enough then the node will retry after
150-
`discovery.find_peers_interval` which defaults to `1s`.
151-
152164
The discovery process is controlled by the following settings.
153165

154166
`discovery.find_peers_interval`::

0 commit comments

Comments
 (0)