discovery.asciidoc 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. [[modules-discovery]]
  2. == Discovery and cluster formation
  3. The discovery and cluster formation module is responsible for discovering
  4. nodes, electing a master, forming a cluster, and publishing the cluster state
  5. each time it changes. It is integrated with other modules. For example, all
  6. communication between nodes is done using the <<modules-transport,transport>>
  7. module. This module is divided into the following sections:
  8. <<modules-discovery-hosts-providers>>::
  9. Discovery is the process where nodes find each other when the master is
  10. unknown, such as when a node has just started up or when the previous
  11. master has failed.
  12. <<modules-discovery-quorums>>::
  13. This section describes how {es} uses a quorum-based voting mechanism to
  14. make decisions even if some nodes are unavailable.
  15. <<modules-discovery-voting>>::
  16. This section describes the concept of voting configurations, which {es}
  17. automatically updates as nodes leave and join the cluster.
  18. <<modules-discovery-bootstrap-cluster>>::
  19. Bootstrapping a cluster is required when an Elasticsearch cluster starts up
  20. for the very first time. In <<dev-vs-prod-mode,development mode>>, with no
  21. discovery settings configured, this is automatically performed by the nodes
  22. themselves. As this auto-bootstrapping is
  23. <<modules-discovery-quorums,inherently unsafe>>, running a node in
  24. <<dev-vs-prod-mode,production mode>> requires bootstrapping to be
  25. explicitly configured via the
  26. <<modules-discovery-bootstrap-cluster,`cluster.initial_master_nodes`
  27. setting>>.
  28. <<modules-discovery-adding-removing-nodes,Adding and removing master-eligible nodes>>::
  29. It is recommended to have a small and fixed number of master-eligible nodes
  30. in a cluster, and to scale the cluster up and down by adding and removing
  31. master-ineligible nodes only. However there are situations in which it may
  32. be desirable to add or remove some master-eligible nodes to or from a
  33. cluster. This section describes the process for adding or removing
  34. master-eligible nodes, including the extra steps that need to be performed
  35. when removing more than half of the master-eligible nodes at the same time.
  36. <<cluster-state-publishing>>::
  37. Cluster state publishing is the process by which the elected master node
  38. updates the cluster state on all the other nodes in the cluster.
  39. <<cluster-fault-detection>>::
  40. {es} performs health checks to detect and remove faulty nodes.
  41. <<modules-discovery-settings,Settings>>::
  42. There are settings that enable users to influence the discovery, cluster
  43. formation, master election and fault detection processes.
  44. include::discovery/discovery.asciidoc[]
  45. include::discovery/quorums.asciidoc[]
  46. include::discovery/voting.asciidoc[]
  47. include::discovery/bootstrapping.asciidoc[]
  48. include::discovery/adding-removing-nodes.asciidoc[]
  49. include::discovery/publishing.asciidoc[]
  50. include::discovery/fault-detection.asciidoc[]
  51. include::discovery/discovery-settings.asciidoc[]