-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOCS] Adds overview and API ref for cluster voting configurations #36954
Changes from 4 commits
2368b16
8fc6112
419b48e
5b608a9
6f8d374
77130e8
1da744f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
[[voting-config-exclusions]] | ||
== Voting configuration exclusions API | ||
++++ | ||
<titleabbrev>Voting Configuration Exclusions</titleabbrev> | ||
++++ | ||
|
||
Adds or removes master-eligible nodes from the | ||
<<modules-discovery-voting,voting configuration exclusion list>>. | ||
|
||
[float] | ||
=== Request | ||
|
||
[source,js] | ||
-------------------------------------------------- | ||
# Add a node to the voting configuration exclusions list | ||
POST /_cluster/voting_config_exclusions/<node_name> | ||
|
||
# Remove all exclusions from the list | ||
DELETE /_cluster/voting_config_exclusions | ||
-------------------------------------------------- | ||
// CONSOLE | ||
|
||
[float] | ||
=== Path parameters | ||
|
||
`node_name`:: | ||
A <<cluster-nodes,node filter>> that identifies {es} nodes. | ||
|
||
[float] | ||
=== Description | ||
|
||
If the <<modules-discovery-settings,`cluster.auto_shrink_voting_configuration` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm concerned that mentioning this setting so prominently here will encourage too many users to fiddle with it. It should be left set to the default of I think it'd be better to word most of this description as if the setting is set to the default of There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for the feedback! I've updated the API description to downplay that setting. |
||
setting>> is `true`, and there are more than three master-eligible nodes in the | ||
cluster, and you remove fewer than half of the master-eligible nodes in the | ||
cluster at once, then the <<modules-discovery-voting,voting configuration>> | ||
automatically shrinks when you remove master-eligible nodes from the cluster. | ||
|
||
If the `cluster.auto_shrink_voting_configuration` setting is `false`, or you | ||
wish to shrink the voting configuration to contain fewer than three nodes, or | ||
you wish to remove half or more of the master-eligible nodes in the cluster at | ||
once, you must use this API to remove departed nodes from the voting | ||
configuration manually. It adds an entry for that node in the voting | ||
configuration exclusions list. The cluster then tries to reconfigure the voting | ||
configuration to remove that node and to prevent it from returning. | ||
|
||
If the API fails, you can safely retry it. Only a successful response | ||
guarantees that the node has been removed from the voting configuration and will | ||
not be reinstated. | ||
|
||
NOTE: Voting exclusions are required only when you remove at least half of the | ||
master-eligible nodes from a cluster in a short time period. They are not | ||
required when removing master-ineligible nodes or fewer than half of the | ||
master-eligible nodes. | ||
|
||
The <<modules-discovery-settings,`cluster.max_voting_config_exclusions` | ||
setting>> limits the size of the voting configuration exclusion list. The | ||
default value is `10`. Since voting configuration exclusions are persistent and | ||
limited in number, you must clear the voting config exclusions list once the | ||
exclusions are no longer required. | ||
|
||
For more information, see <<modules-discovery-removing-nodes>>. | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,6 +13,16 @@ module. This module is divided into the following sections: | |
unknown, such as when a node has just started up or when the previous | ||
master has failed. | ||
|
||
<<modules-discovery-quorums>>:: | ||
|
||
This section describes how {es} uses a quorum-based voting mechanism to | ||
make decisions even if some nodes are unavailable. | ||
|
||
<<modules-discovery-voting>>:: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added this entry. |
||
|
||
This section describes the concept of voting configurations, which {es} | ||
automatically updates as nodes leave and join the cluster. | ||
|
||
<<modules-discovery-bootstrap-cluster>>:: | ||
|
||
Bootstrapping a cluster is required when an Elasticsearch cluster starts up | ||
|
@@ -40,26 +50,27 @@ module. This module is divided into the following sections: | |
Cluster state publishing is the process by which the elected master node | ||
updates the cluster state on all the other nodes in the cluster. | ||
|
||
<<modules-discovery-quorums>>:: | ||
<<cluster-fault-detection>>:: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this should be here, for completeness. |
||
|
||
{es} performs health checks to detect and remove faulty nodes. | ||
|
||
This section describes the detailed design behind the master election and | ||
auto-reconfiguration logic. | ||
|
||
<<modules-discovery-settings,Settings>>:: | ||
|
||
There are settings that enable users to influence the discovery, cluster | ||
formation, master election and fault detection processes. | ||
|
||
include::discovery/discovery.asciidoc[] | ||
|
||
include::discovery/quorums.asciidoc[] | ||
|
||
include::discovery/voting.asciidoc[] | ||
|
||
include::discovery/bootstrapping.asciidoc[] | ||
|
||
include::discovery/adding-removing-nodes.asciidoc[] | ||
|
||
include::discovery/publishing.asciidoc[] | ||
|
||
include::discovery/quorums.asciidoc[] | ||
|
||
include::discovery/fault-detection.asciidoc[] | ||
|
||
include::discovery/discovery-settings.asciidoc[] | ||
include::discovery/discovery-settings.asciidoc[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the capitalisation of this title to match the other sections under 'Cluster APIs'.