2
2
== Node
3
3
4
4
Any time that you start an instance of Elasticsearch, you are starting a
5
- _node_. A collection of connected nodes is called a
5
+ _node_. A collection of connected nodes is called a
6
6
<<modules-cluster,cluster>>. If you are running a single node of Elasticsearch,
7
7
then you have a cluster of one node.
8
8
@@ -12,8 +12,14 @@ is used exclusively for communication between nodes; the HTTP layer is
12
12
used by REST clients.
13
13
14
14
All nodes know about all the other nodes in the cluster and can forward client
15
- requests to the appropriate node. Besides that, each node serves one or more
16
- purpose:
15
+ requests to the appropriate node.
16
+
17
+ By default, a node is all of the following types: master-eligible, data, ingest,
18
+ and machine learning (if available).
19
+
20
+ TIP: As the cluster grows and in particular if you have large {ml} jobs,
21
+ consider separating dedicated master-eligible nodes from dedicated data nodes
22
+ and dedicated {ml} nodes.
17
23
18
24
<<master-node,Master-eligible node>>::
19
25
@@ -34,6 +40,17 @@ and enrich the document before indexing. With a heavy ingest load, it makes
34
40
sense to use dedicated ingest nodes and to mark the master and data nodes as
35
41
`node.ingest: false`.
36
42
43
+ <<ml-node,Machine learning node>>::
44
+
45
+ A node that has `xpack.ml.enabled` and `node.ml` set to `true`, which is the
46
+ default behavior in the {es} {default-dist}. If you want to use {ml-features},
47
+ there must be at least one {ml} node in your cluster. For more information about
48
+ {ml-features}, see
49
+ {stack-ov}/xpack-ml.html[Machine learning in the {stack}].
50
+ +
51
+ IMPORTANT: If you use the {oss-dist}, do not set `node.ml`. Otherwise, the node
52
+ fails to start.
53
+
37
54
[NOTE]
38
55
[[coordinating-node]]
39
56
.Coordinating node
@@ -85,7 +102,25 @@ better _not_ to use dedicated master nodes for this purpose. It is important
85
102
for the stability of the cluster that master-eligible nodes do as little work
86
103
as possible.
87
104
88
- To create a dedicated master-eligible node, set:
105
+ To create a dedicated master-eligible node in the {default-dist}, set:
106
+
107
+ [source,yaml]
108
+ -------------------
109
+ node.master: true <1>
110
+ node.data: false <2>
111
+ node.ingest: false <3>
112
+ node.ml: false <4>
113
+ xpack.ml.enabled: true <5>
114
+ cluster.remote.connect: false <6>
115
+ -------------------
116
+ <1> The `node.master` role is enabled by default.
117
+ <2> Disable the `node.data` role (enabled by default).
118
+ <3> Disable the `node.ingest` role (enabled by default).
119
+ <4> Disable the `node.ml` role (enabled by default).
120
+ <5> The `xpack.ml.enabled` setting is enabled by default.
121
+ <6> Disable {ccs} (enabled by default).
122
+
123
+ To create a dedicated master-eligible node in the {oss-dist}, set:
89
124
90
125
[source,yaml]
91
126
-------------------
@@ -99,11 +134,6 @@ cluster.remote.connect: false <4>
99
134
<3> Disable the `node.ingest` role (enabled by default).
100
135
<4> Disable {ccs} (enabled by default).
101
136
102
- ifdef::include-xpack[]
103
- NOTE: These settings apply only when {xpack} is not installed. To create a
104
- dedicated master-eligible node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
105
- endif::include-xpack[]
106
-
107
137
[float]
108
138
[[data-node]]
109
139
=== Data Node
@@ -116,8 +146,22 @@ monitor these resources and to add more data nodes if they are overloaded.
116
146
The main benefit of having dedicated data nodes is the separation of the
117
147
master and data roles.
118
148
119
- To create a dedicated data node, set:
149
+ To create a dedicated data node in the {default-dist}, set:
150
+ [source,yaml]
151
+ -------------------
152
+ node.master: false <1>
153
+ node.data: true <2>
154
+ node.ingest: false <3>
155
+ node.ml: false <4>
156
+ cluster.remote.connect: false <5>
157
+ -------------------
158
+ <1> Disable the `node.master` role (enabled by default).
159
+ <2> The `node.data` role is enabled by default.
160
+ <3> Disable the `node.ingest` role (enabled by default).
161
+ <4> Disable the `node.ml` role (enabled by default).
162
+ <5> Disable {ccs} (enabled by default).
120
163
164
+ To create a dedicated data node in the {oss-dist}, set:
121
165
[source,yaml]
122
166
-------------------
123
167
node.master: false <1>
@@ -130,11 +174,6 @@ cluster.remote.connect: false <4>
130
174
<3> Disable the `node.ingest` role (enabled by default).
131
175
<4> Disable {ccs} (enabled by default).
132
176
133
- ifdef::include-xpack[]
134
- NOTE: These settings apply only when {xpack} is not installed. To create a
135
- dedicated data node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
136
- endif::include-xpack[]
137
-
138
177
[float]
139
178
[[node-ingest-node]]
140
179
=== Ingest Node
@@ -144,7 +183,23 @@ ingest processors. Depending on the type of operations performed by the ingest
144
183
processors and the required resources, it may make sense to have dedicated
145
184
ingest nodes, that will only perform this specific task.
146
185
147
- To create a dedicated ingest node, set:
186
+ To create a dedicated ingest node in the {default-dist}, set:
187
+
188
+ [source,yaml]
189
+ -------------------
190
+ node.master: false <1>
191
+ node.data: false <2>
192
+ node.ingest: true <3>
193
+ node.ml: false <4>
194
+ cluster.remote.connect: false <5>
195
+ -------------------
196
+ <1> Disable the `node.master` role (enabled by default).
197
+ <2> Disable the `node.data` role (enabled by default).
198
+ <3> The `node.ingest` role is enabled by default.
199
+ <4> Disable the `node.ml` role (enabled by default).
200
+ <5> Disable {ccs} (enabled by default).
201
+
202
+ To create a dedicated ingest node in the {oss-dist}, set:
148
203
149
204
[source,yaml]
150
205
-------------------
@@ -158,11 +213,6 @@ cluster.remote.connect: false <4>
158
213
<3> The `node.ingest` role is enabled by default.
159
214
<4> Disable {ccs} (enabled by default).
160
215
161
- ifdef::include-xpack[]
162
- NOTE: These settings apply only when {xpack} is not installed. To create a
163
- dedicated ingest node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
164
- endif::include-xpack[]
165
-
166
216
[float]
167
217
[[coordinating-only-node]]
168
218
=== Coordinating only node
@@ -184,7 +234,23 @@ acknowledgement of cluster state updates from every node! The benefit of
184
234
coordinating only nodes should not be overstated -- data nodes can happily
185
235
serve the same purpose.
186
236
187
- To create a dedicated coordinating node, set:
237
+ To create a dedicated coordinating node in the {default-dist}, set:
238
+
239
+ [source,yaml]
240
+ -------------------
241
+ node.master: false <1>
242
+ node.data: false <2>
243
+ node.ingest: false <3>
244
+ node.ml: false <4>
245
+ cluster.remote.connect: false <5>
246
+ -------------------
247
+ <1> Disable the `node.master` role (enabled by default).
248
+ <2> Disable the `node.data` role (enabled by default).
249
+ <3> Disable the `node.ingest` role (enabled by default).
250
+ <4> Disable the `node.ml` role (enabled by default).
251
+ <5> Disable {ccs} (enabled by default).
252
+
253
+ To create a dedicated coordinating node in the {oss-dist}, set:
188
254
189
255
[source,yaml]
190
256
-------------------
@@ -198,10 +264,37 @@ cluster.remote.connect: false <4>
198
264
<3> Disable the `node.ingest` role (enabled by default).
199
265
<4> Disable {ccs} (enabled by default).
200
266
201
- ifdef::include-xpack[]
202
- NOTE: These settings apply only when {xpack} is not installed. To create a
203
- dedicated coordinating node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
204
- endif::include-xpack[]
267
+ [float]
268
+ [[ml-node]]
269
+ === [xpack]#Machine learning node#
270
+
271
+ The {ml-features} provide {ml} nodes, which run jobs and handle {ml} API
272
+ requests. If `xpack.ml.enabled` is set to true and `node.ml` is set to `false`,
273
+ the node can service API requests but it cannot run jobs.
274
+
275
+ If you want to use {ml-features} in your cluster, you must enable {ml}
276
+ (set `xpack.ml.enabled` to `true`) on all master-eligible nodes. If you have the
277
+ {oss-dist}, do not use these settings.
278
+
279
+ For more information about these settings, see <<ml-settings>>.
280
+
281
+ To create a dedicated {ml} node in the {default-dist}, set:
282
+
283
+ [source,yaml]
284
+ -------------------
285
+ node.master: false <1>
286
+ node.data: false <2>
287
+ node.ingest: false <3>
288
+ node.ml: true <4>
289
+ xpack.ml.enabled: true <5>
290
+ cluster.remote.connect: false <6>
291
+ -------------------
292
+ <1> Disable the `node.master` role (enabled by default).
293
+ <2> Disable the `node.data` role (enabled by default).
294
+ <3> Disable the `node.ingest` role (enabled by default).
295
+ <4> The `node.ml` role is enabled by default.
296
+ <5> The `xpack.ml.enabled` setting is enabled by default.
297
+ <6> Disable {ccs} (enabled by default).
205
298
206
299
[float]
207
300
[[change-node-role]]
@@ -282,7 +375,3 @@ your data! The RPM and Debian distributions do this for you already.
282
375
More node settings can be found in <<modules,Modules>>. Of particular note are
283
376
the <<cluster.name,`cluster.name`>>, the <<node.name,`node.name`>> and the
284
377
<<modules-network,network settings>>.
285
-
286
- ifdef::include-xpack[]
287
- include::ml-node.asciidoc[]
288
- endif::include-xpack[]
0 commit comments