discovery.asciidoc 2.8 KB

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