[DOCS] Reword node roles docs (#69301)

This commit is contained in:
James Rodewig 2021-02-23 11:32:46 -05:00 committed by GitHub
parent d8d06eea4d
commit a32cf65705
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 24 deletions

View file

@ -46,9 +46,6 @@ means that filters such as `master:false` which remove nodes from the chosen
subset are only useful if they come after some other filters. When used on its subset are only useful if they come after some other filters. When used on its
own, `master:false` selects no nodes. own, `master:false` selects no nodes.
NOTE: The `voting_only` role requires the {default-dist} of Elasticsearch and
is not supported in the {oss-dist}.
Here are some examples of the use of node filters with the Here are some examples of the use of node filters with the
<<cluster-nodes-info,Nodes Info>> APIs. <<cluster-nodes-info,Nodes Info>> APIs.

View file

@ -17,8 +17,9 @@ requests to the appropriate node.
[[node-roles]] [[node-roles]]
==== Node roles ==== Node roles
You can define the roles of a node by setting `node.roles`. If you don't You define a node's roles by setting `node.roles` in `elasticsearch.yml`. If you
configure this setting, the node has the following roles by default: set `node.roles`, the node is only assigned the roles you specify. If you don't
set `node.roles`, the node is assigned the following roles:
* `master` * `master`
* `data` * `data`
@ -32,7 +33,18 @@ configure this setting, the node has the following roles by default:
* `remote_cluster_client` * `remote_cluster_client`
* `transform` * `transform`
NOTE: If you set `node.roles`, the node is assigned only the roles you specify. [IMPORTANT]
====
If you set `node.roles`, ensure you specify every node role your cluster needs.
Some {stack} features require specific node roles:
- {ccs-cap} and {ccr} require the `remote_cluster_client` role.
- {stack-monitor-app} and ingest pipelines require the `ingest` role.
- {fleet}, the {security-app}, and {transforms} require the `transform` role.
The `remote_cluster_client` role is also required to use {ccs} with these
features.
- {ml-cap} features, such as {anomaly-detect}, require the `ml` role.
====
As the cluster grows and in particular if you have large {ml} jobs or As the cluster grows and in particular if you have large {ml} jobs or
{ctransforms}, consider separating dedicated master-eligible nodes from {ctransforms}, consider separating dedicated master-eligible nodes from
@ -40,17 +52,17 @@ dedicated data nodes, {ml} nodes, and {transform} nodes.
<<master-node,Master-eligible node>>:: <<master-node,Master-eligible node>>::
A node that has the `master` role (default), which makes it eligible to be A node that has the `master` role, which makes it eligible to be
<<modules-discovery,elected as the _master_ node>>, which controls the cluster. <<modules-discovery,elected as the _master_ node>>, which controls the cluster.
<<data-node,Data node>>:: <<data-node,Data node>>::
A node that has the `data` role (default). Data nodes hold data and perform data A node that has the `data` role. Data nodes hold data and perform data
related operations such as CRUD, search, and aggregations. A node with the `data` role can fill any of the specialised data node roles. related operations such as CRUD, search, and aggregations. A node with the `data` role can fill any of the specialised data node roles.
<<node-ingest-node,Ingest node>>:: <<node-ingest-node,Ingest node>>::
A node that has the `ingest` role (default). Ingest nodes are able to apply an A node that has the `ingest` role. Ingest nodes are able to apply an
<<pipeline,ingest pipeline>> to a document in order to transform and enrich the <<pipeline,ingest pipeline>> to a document in order to transform and enrich the
document before indexing. With a heavy ingest load, it makes sense to use document before indexing. With a heavy ingest load, it makes sense to use
dedicated ingest nodes and to not include the `ingest` role from nodes that have dedicated ingest nodes and to not include the `ingest` role from nodes that have
@ -58,16 +70,15 @@ the `master` or `data` roles.
<<remote-node,Remote-eligible node>>:: <<remote-node,Remote-eligible node>>::
A node that has the `remote_cluster_client` role (default), which makes it A node that has the `remote_cluster_client` role, which makes it eligible to act
eligible to act as a remote client. By default, any node in the cluster can act as a remote client.
as a cross-cluster client and connect to remote clusters.
<<ml-node,Machine learning node>>:: <<ml-node,Machine learning node>>::
A node that has `xpack.ml.enabled` and the `ml` role, which is the default A node that has `xpack.ml.enabled` and the `ml` role. If you want to use
behavior in the {es} {default-dist}. If you want to use {ml-features}, there {ml-features}, there must be at least one {ml} node in your cluster. For more
must be at least one {ml} node in your cluster. For more information about information about {ml-features}, see {ml-docs}/index.html[Machine learning in
{ml-features}, see {ml-docs}/index.html[Machine learning in the {stack}]. the {stack}].
<<transform-node,{transform-cap} node>>:: <<transform-node,{transform-cap} node>>::
@ -161,10 +172,8 @@ node:
node.roles: [ data, master, voting_only ] node.roles: [ data, master, voting_only ]
------------------- -------------------
IMPORTANT: The `voting_only` role requires the {default-dist} of {es} and is not IMPORTANT: Only nodes with the `master` role can be marked as having the
supported in the {oss-dist}. If you use the {oss-dist} and add the `voting_only` `voting_only` role.
role then the node will fail to start. Also note that only nodes with the
`master` role can be marked as having the `voting_only` role.
High availability (HA) clusters require at least three master-eligible nodes, at High availability (HA) clusters require at least three master-eligible nodes, at
least two of which are not voting-only nodes. Such a cluster will be able to least two of which are not voting-only nodes. Such a cluster will be able to
@ -181,7 +190,7 @@ Voting-only master-eligible nodes may also fill other roles in your cluster.
For instance, a node may be both a data node and a voting-only master-eligible For instance, a node may be both a data node and a voting-only master-eligible
node. A _dedicated_ voting-only master-eligible nodes is a voting-only node. A _dedicated_ voting-only master-eligible nodes is a voting-only
master-eligible node that fills no other roles in the cluster. To create a master-eligible node that fills no other roles in the cluster. To create a
dedicated voting-only master-eligible node in the {default-dist}, set: dedicated voting-only master-eligible node, set:
[source,yaml] [source,yaml]
------------------- -------------------
@ -317,8 +326,8 @@ node.roles: [ ]
[[remote-node]] [[remote-node]]
==== Remote-eligible node ==== Remote-eligible node
By default, any node in a cluster can act as a cross-cluster client and connect A remote-eligible node acts as a cross-cluster client and connects to
to <<modules-remote-clusters,remote clusters>>. Once connected, you can search <<modules-remote-clusters,remote clusters>>. Once connected, you can search
remote clusters using <<modules-cross-cluster-search,{ccs}>>. You can also sync remote clusters using <<modules-cross-cluster-search,{ccs}>>. You can also sync
data between clusters using <<xpack-ccr,{ccr}>>. data between clusters using <<xpack-ccr,{ccr}>>.
@ -358,7 +367,7 @@ Otherwise, {ccs} fails when used in {ml} jobs or {dfeeds}. See <<remote-node>>.
{transform-cap} nodes run {transforms} and handle {transform} API requests. For {transform-cap} nodes run {transforms} and handle {transform} API requests. For
more information, see <<transform-settings>>. more information, see <<transform-settings>>.
To create a dedicated {transform} node in the {default-dist}, set: To create a dedicated {transform} node, set:
[source,yaml] [source,yaml]
---- ----