discovery-settings.asciidoc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. [[modules-discovery-settings]]
  2. === Discovery and cluster formation settings
  3. <<modules-discovery,Discovery and cluster formation>> are affected by the
  4. following settings:
  5. `discovery.seed_hosts`::
  6. +
  7. --
  8. (<<static-cluster-setting,Static>>)
  9. Provides a list of the addresses of the master-eligible nodes in the cluster.
  10. May also be a single string containing the addresses separated by commas. Each
  11. address has the format `host:port` or `host`. The `host` is either a host name
  12. to be resolved by DNS, an IPv4 address, or an IPv6 address. IPv6 addresses
  13. must be enclosed in square brackets. If a host name resolves via DNS to multiple
  14. addresses, {es} uses all of them. DNS lookups are subject to
  15. <<networkaddress-cache-ttl,JVM DNS caching>>. If the `port` is not given then it
  16. is determined by checking the following settings in order:
  17. . `transport.profiles.default.port`
  18. . `transport.port`
  19. If neither of these is set then the default port is `9300`. The default value
  20. for `discovery.seed_hosts` is `["127.0.0.1", "[::1]"]`. See <<unicast.hosts>>.
  21. --
  22. `discovery.seed_providers`::
  23. (<<static-cluster-setting,Static>>)
  24. Specifies which types of <<built-in-hosts-providers,seed hosts provider>> to use
  25. to obtain the addresses of the seed nodes used to start the discovery process.
  26. By default, it is the <<settings-based-hosts-provider,settings-based seed hosts
  27. provider>> which obtains the seed node addresses from the `discovery.seed_hosts`
  28. setting.
  29. `discovery.type`::
  30. (<<static-cluster-setting,Static>>)
  31. Specifies whether {es} should form a multiple-node cluster. Defaults to
  32. `multi-node`, which means that {es} discovers other nodes when forming a cluster
  33. and allows other nodes to join the cluster later. If set to `single-node`, {es}
  34. forms a single-node cluster and suppresses the timeout set by
  35. `cluster.publish.timeout`. For more information about when you might use this
  36. setting, see <<single-node-discovery>>.
  37. `cluster.initial_master_nodes`::
  38. (<<static-cluster-setting,Static>>)
  39. Sets the initial set of master-eligible nodes in a brand-new cluster. By default
  40. this list is empty, meaning that this node expects to join a cluster that has
  41. already been bootstrapped. See <<initial_master_nodes>>.
  42. [discrete]
  43. ==== Expert settings
  44. Discovery and cluster formation are also affected by the following
  45. _expert-level_ settings, although it is not recommended to change any of these
  46. from their default values.
  47. WARNING: If you adjust these settings then your cluster may not form correctly
  48. or may become unstable or intolerant of certain failures.
  49. `discovery.cluster_formation_warning_timeout`::
  50. (<<static-cluster-setting,Static>>)
  51. Sets how long a node will try to form a cluster before logging a warning that
  52. the cluster did not form. Defaults to `10s`. If a cluster has not formed after
  53. `discovery.cluster_formation_warning_timeout` has elapsed then the node will log
  54. a warning message that starts with the phrase `master not discovered` which
  55. describes the current state of the discovery process.
  56. `discovery.find_peers_interval`::
  57. (<<static-cluster-setting,Static>>)
  58. Sets how long a node will wait before attempting another discovery round.
  59. Defaults to `1s`.
  60. `discovery.probe.connect_timeout`::
  61. (<<static-cluster-setting,Static>>)
  62. Sets how long to wait when attempting to connect to each address. Defaults to
  63. `30s`.
  64. `discovery.probe.handshake_timeout`::
  65. (<<static-cluster-setting,Static>>)
  66. Sets how long to wait when attempting to identify the remote node via a
  67. handshake. Defaults to `30s`.
  68. `discovery.request_peers_timeout`::
  69. (<<static-cluster-setting,Static>>)
  70. Sets how long a node will wait after asking its peers again before considering
  71. the request to have failed. Defaults to `3s`.
  72. `discovery.find_peers_warning_timeout`::
  73. (<<static-cluster-setting,Static>>)
  74. Sets how long a node will attempt to discover its peers before it starts to log
  75. verbose messages describing why the connection attempts are failing. Defaults
  76. to `3m`.
  77. `discovery.seed_resolver.max_concurrent_resolvers`::
  78. (<<static-cluster-setting,Static>>)
  79. Specifies how many concurrent DNS lookups to perform when resolving the
  80. addresses of seed nodes. Defaults to `10`.
  81. `discovery.seed_resolver.timeout`::
  82. (<<static-cluster-setting,Static>>)
  83. Specifies how long to wait for each DNS lookup performed when resolving the
  84. addresses of seed nodes. Defaults to `5s`.
  85. `cluster.auto_shrink_voting_configuration`::
  86. (<<dynamic-cluster-setting,Dynamic>>)
  87. Controls whether the <<modules-discovery-voting,voting configuration>> sheds
  88. departed nodes automatically, as long as it still contains at least 3 nodes. The
  89. default value is `true`. If set to `false`, the voting configuration never
  90. shrinks automatically and you must remove departed nodes manually with the
  91. <<voting-config-exclusions,voting configuration exclusions API>>.
  92. [[master-election-settings]]`cluster.election.back_off_time`::
  93. (<<static-cluster-setting,Static>>)
  94. Sets the amount to increase the upper bound on the wait before an election on
  95. each election failure. Note that this is _linear_ backoff. This defaults to
  96. `100ms`. Changing this setting from the default may cause your cluster to fail
  97. to elect a master node.
  98. `cluster.election.duration`::
  99. (<<static-cluster-setting,Static>>)
  100. Sets how long each election is allowed to take before a node considers it to
  101. have failed and schedules a retry. This defaults to `500ms`. Changing this
  102. setting from the default may cause your cluster to fail to elect a master node.
  103. `cluster.election.initial_timeout`::
  104. (<<static-cluster-setting,Static>>)
  105. Sets the upper bound on how long a node will wait initially, or after the
  106. elected master fails, before attempting its first election. This defaults to
  107. `100ms`. Changing this setting from the default may cause your cluster to fail
  108. to elect a master node.
  109. `cluster.election.max_timeout`::
  110. (<<static-cluster-setting,Static>>)
  111. Sets the maximum upper bound on how long a node will wait before attempting an
  112. first election, so that an network partition that lasts for a long time does not
  113. result in excessively sparse elections. This defaults to `10s`. Changing this
  114. setting from the default may cause your cluster to fail to elect a master node.
  115. [[fault-detection-settings]]`cluster.fault_detection.follower_check.interval`::
  116. (<<static-cluster-setting,Static>>)
  117. Sets how long the elected master waits between follower checks to each other
  118. node in the cluster. Defaults to `1s`. Changing this setting from the default
  119. may cause your cluster to become unstable.
  120. `cluster.fault_detection.follower_check.timeout`::
  121. (<<static-cluster-setting,Static>>)
  122. Sets how long the elected master waits for a response to a follower check before
  123. considering it to have failed. Defaults to `10s`. Changing this setting from the
  124. default may cause your cluster to become unstable.
  125. `cluster.fault_detection.follower_check.retry_count`::
  126. (<<static-cluster-setting,Static>>)
  127. Sets how many consecutive follower check failures must occur to each node before
  128. the elected master considers that node to be faulty and removes it from the
  129. cluster. Defaults to `3`. Changing this setting from the default may cause your
  130. cluster to become unstable.
  131. `cluster.fault_detection.leader_check.interval`::
  132. (<<static-cluster-setting,Static>>)
  133. Sets how long each node waits between checks of the elected master. Defaults to
  134. `1s`. Changing this setting from the default may cause your cluster to become
  135. unstable.
  136. `cluster.fault_detection.leader_check.timeout`::
  137. (<<static-cluster-setting,Static>>)
  138. Sets how long each node waits for a response to a leader check from the elected
  139. master before considering it to have failed. Defaults to `10s`. Changing this
  140. setting from the default may cause your cluster to become unstable.
  141. `cluster.fault_detection.leader_check.retry_count`::
  142. (<<static-cluster-setting,Static>>)
  143. Sets how many consecutive leader check failures must occur before a node
  144. considers the elected master to be faulty and attempts to find or elect a new
  145. master. Defaults to `3`. Changing this setting from the default may cause your
  146. cluster to become unstable.
  147. `cluster.follower_lag.timeout`::
  148. (<<static-cluster-setting,Static>>)
  149. Sets how long the master node waits to receive acknowledgements for cluster
  150. state updates from lagging nodes. The default value is `90s`. If a node does not
  151. successfully apply the cluster state update within this period of time, it is
  152. considered to have failed and is removed from the cluster. See
  153. <<cluster-state-publishing>>.
  154. `cluster.max_voting_config_exclusions`::
  155. (<<dynamic-cluster-setting,Dynamic>>)
  156. Sets a limit on the number of voting configuration exclusions at any one time.
  157. The default value is `10`. See <<modules-discovery-adding-removing-nodes>>.
  158. `cluster.publish.info_timeout`::
  159. (<<static-cluster-setting,Static>>)
  160. Sets how long the master node waits for each cluster state update to be
  161. completely published to all nodes before logging a message indicating that some
  162. nodes are responding slowly. The default value is `10s`.
  163. `cluster.publish.timeout`::
  164. (<<static-cluster-setting,Static>>)
  165. Sets how long the master node waits for each cluster state update to be
  166. completely published to all nodes, unless `discovery.type` is set to
  167. `single-node`. The default value is `30s`. See <<cluster-state-publishing>>.
  168. [[no-master-block]]
  169. `cluster.no_master_block`::
  170. (<<dynamic-cluster-setting,Dynamic>>)
  171. Specifies which operations are rejected when there is no active master in a
  172. cluster. This setting has three valid values:
  173. +
  174. --
  175. `all`::: All operations on the node (both read and write operations) are rejected.
  176. This also applies for API cluster state read or write operations, like the get
  177. index settings, update mapping, and cluster state API.
  178. `write`::: (default) Write operations are rejected. Read operations succeed,
  179. based on the last known cluster configuration. This situation may result in
  180. partial reads of stale data as this node may be isolated from the rest of the
  181. cluster.
  182. `metadata_write`::: Only metadata write operations (e.g. mapping updates,
  183. routing table changes) are rejected but regular indexing operations continue
  184. to work. Read and write operations succeed, based on the last known cluster
  185. configuration. This situation may result in partial reads of stale data as
  186. this node may be isolated from the rest of the cluster.
  187. [NOTE]
  188. ===============================
  189. * The `cluster.no_master_block` setting doesn't apply to nodes-based APIs
  190. (for example, cluster stats, node info, and node stats APIs). Requests to these
  191. APIs are not be blocked and can run on any available node.
  192. * For the cluster to be fully operational, it must have an active master.
  193. ===============================
  194. --
  195. `monitor.fs.health.enabled`::
  196. (<<dynamic-cluster-setting,Dynamic>>)
  197. If `true`, the node runs periodic
  198. <<cluster-fault-detection-filesystem-health,filesystem health checks>>. Defaults
  199. to `true`.
  200. `monitor.fs.health.refresh_interval`::
  201. (<<static-cluster-setting,Static>>)
  202. Interval between successive
  203. <<cluster-fault-detection-filesystem-health,filesystem health checks>>. Defaults
  204. to `2m`.
  205. `monitor.fs.health.slow_path_logging_threshold`::
  206. (<<dynamic-cluster-setting,Dynamic>>)
  207. If a <<cluster-fault-detection-filesystem-health,filesystem health checks>>
  208. takes longer than this threshold then {es} logs a warning. Defaults to `5s`.