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
@@ -13,8 +13,14 @@ is used exclusively for communication between nodes and the
13
13
used only by external REST clients.
14
14
15
15
All nodes know about all the other nodes in the cluster and can forward client
16
- requests to the appropriate node. Besides that, each node serves one or more
17
- purpose:
16
+ requests to the appropriate node.
17
+
18
+ By default, a node is all of the following types: master-eligible, data, ingest,
19
+ and machine learning (if available).
20
+
21
+ TIP: As the cluster grows and in particular if you have large {ml} jobs,
22
+ consider separating dedicated master-eligible nodes from dedicated data nodes
23
+ and dedicated {ml} nodes.
18
24
19
25
<<master-node,Master-eligible node>>::
20
26
@@ -46,6 +52,17 @@ pre-process documents through ingest pipelines. This is very convenient for
46
52
small clusters but, as the cluster grows, it becomes important to consider
47
53
separating dedicated master-eligible nodes from dedicated data nodes.
48
54
55
+ <<ml-node,Machine learning node>>::
56
+
57
+ A node that has `xpack.ml.enabled` and `node.ml` set to `true`, which is the
58
+ default behavior in the {es} {default-dist}. If you want to use {ml-features},
59
+ there must be at least one {ml} node in your cluster. For more information about
60
+ {ml-features}, see
61
+ {stack-ov}/xpack-ml.html[Machine learning in the {stack}].
62
+ +
63
+ IMPORTANT: If you use the {oss-dist}, do not set `node.ml`. Otherwise, the node
64
+ fails to start.
65
+
49
66
[NOTE]
50
67
[[coordinating-node]]
51
68
.Coordinating node
@@ -97,7 +114,25 @@ better _not_ to use dedicated master nodes for this purpose. It is important
97
114
for the stability of the cluster that master-eligible nodes do as little work
98
115
as possible.
99
116
100
- To create a dedicated master-eligible node, set:
117
+ To create a dedicated master-eligible node in the {default-dist}, set:
118
+
119
+ [source,yaml]
120
+ -------------------
121
+ node.master: true <1>
122
+ node.data: false <2>
123
+ node.ingest: false <3>
124
+ node.ml: false <4>
125
+ xpack.ml.enabled: true <5>
126
+ cluster.remote.connect: false <6>
127
+ -------------------
128
+ <1> The `node.master` role is enabled by default.
129
+ <2> Disable the `node.data` role (enabled by default).
130
+ <3> Disable the `node.ingest` role (enabled by default).
131
+ <4> Disable the `node.ml` role (enabled by default).
132
+ <5> The `xpack.ml.enabled` setting is enabled by default.
133
+ <6> Disable {ccs} (enabled by default).
134
+
135
+ To create a dedicated master-eligible node in the {oss-dist}, set:
101
136
102
137
[source,yaml]
103
138
-------------------
@@ -111,11 +146,6 @@ cluster.remote.connect: false <4>
111
146
<3> Disable the `node.ingest` role (enabled by default).
112
147
<4> Disable {ccs} (enabled by default).
113
148
114
- ifdef::include-xpack[]
115
- NOTE: These settings apply only when {xpack} is not installed. To create a
116
- dedicated master-eligible node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
117
- endif::include-xpack[]
118
-
119
149
120
150
[float]
121
151
[[split-brain]]
@@ -196,8 +226,22 @@ monitor these resources and to add more data nodes if they are overloaded.
196
226
The main benefit of having dedicated data nodes is the separation of the
197
227
master and data roles.
198
228
199
- To create a dedicated data node, set:
229
+ To create a dedicated data node in the {default-dist}, set:
230
+ [source,yaml]
231
+ -------------------
232
+ node.master: false <1>
233
+ node.data: true <2>
234
+ node.ingest: false <3>
235
+ node.ml: false <4>
236
+ cluster.remote.connect: false <5>
237
+ -------------------
238
+ <1> Disable the `node.master` role (enabled by default).
239
+ <2> The `node.data` role is enabled by default.
240
+ <3> Disable the `node.ingest` role (enabled by default).
241
+ <4> Disable the `node.ml` role (enabled by default).
242
+ <5> Disable {ccs} (enabled by default).
200
243
244
+ To create a dedicated data node in the {oss-dist}, set:
201
245
[source,yaml]
202
246
-------------------
203
247
node.master: false <1>
@@ -210,11 +254,6 @@ cluster.remote.connect: false <4>
210
254
<3> Disable the `node.ingest` role (enabled by default).
211
255
<4> Disable {ccs} (enabled by default).
212
256
213
- ifdef::include-xpack[]
214
- NOTE: These settings apply only when {xpack} is not installed. To create a
215
- dedicated data node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
216
- endif::include-xpack[]
217
-
218
257
[float]
219
258
[[node-ingest-node]]
220
259
=== Ingest Node
@@ -224,7 +263,23 @@ ingest processors. Depending on the type of operations performed by the ingest
224
263
processors and the required resources, it may make sense to have dedicated
225
264
ingest nodes, that will only perform this specific task.
226
265
227
- To create a dedicated ingest node, set:
266
+ To create a dedicated ingest node in the {default-dist}, set:
267
+
268
+ [source,yaml]
269
+ -------------------
270
+ node.master: false <1>
271
+ node.data: false <2>
272
+ node.ingest: true <3>
273
+ node.ml: false <4>
274
+ cluster.remote.connect: false <5>
275
+ -------------------
276
+ <1> Disable the `node.master` role (enabled by default).
277
+ <2> Disable the `node.data` role (enabled by default).
278
+ <3> The `node.ingest` role is enabled by default.
279
+ <4> Disable the `node.ml` role (enabled by default).
280
+ <5> Disable {ccs} (enabled by default).
281
+
282
+ To create a dedicated ingest node in the {oss-dist}, set:
228
283
229
284
[source,yaml]
230
285
-------------------
@@ -238,11 +293,6 @@ cluster.remote.connect: false <4>
238
293
<3> The `node.ingest` role is enabled by default.
239
294
<4> Disable {ccs} (enabled by default).
240
295
241
- ifdef::include-xpack[]
242
- NOTE: These settings apply only when {xpack} is not installed. To create a
243
- dedicated ingest node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
244
- endif::include-xpack[]
245
-
246
296
[float]
247
297
[[coordinating-only-node]]
248
298
=== Coordinating only node
@@ -264,7 +314,23 @@ acknowledgement of cluster state updates from every node! The benefit of
264
314
coordinating only nodes should not be overstated -- data nodes can happily
265
315
serve the same purpose.
266
316
267
- To create a dedicated coordinating node, set:
317
+ To create a dedicated coordinating node in the {default-dist}, set:
318
+
319
+ [source,yaml]
320
+ -------------------
321
+ node.master: false <1>
322
+ node.data: false <2>
323
+ node.ingest: false <3>
324
+ node.ml: false <4>
325
+ cluster.remote.connect: false <5>
326
+ -------------------
327
+ <1> Disable the `node.master` role (enabled by default).
328
+ <2> Disable the `node.data` role (enabled by default).
329
+ <3> Disable the `node.ingest` role (enabled by default).
330
+ <4> Disable the `node.ml` role (enabled by default).
331
+ <5> Disable {ccs} (enabled by default).
332
+
333
+ To create a dedicated coordinating node in the {oss-dist}, set:
268
334
269
335
[source,yaml]
270
336
-------------------
@@ -278,10 +344,37 @@ cluster.remote.connect: false <4>
278
344
<3> Disable the `node.ingest` role (enabled by default).
279
345
<4> Disable {ccs} (enabled by default).
280
346
281
- ifdef::include-xpack[]
282
- NOTE: These settings apply only when {xpack} is not installed. To create a
283
- dedicated coordinating node when {xpack} is installed, see <<modules-node-xpack,{xpack} node settings>>.
284
- endif::include-xpack[]
347
+ [float]
348
+ [[ml-node]]
349
+ === [xpack]#Machine learning node#
350
+
351
+ The {ml-features} provide {ml} nodes, which run jobs and handle {ml} API
352
+ requests. If `xpack.ml.enabled` is set to true and `node.ml` is set to `false`,
353
+ the node can service API requests but it cannot run jobs.
354
+
355
+ If you want to use {ml-features} in your cluster, you must enable {ml}
356
+ (set `xpack.ml.enabled` to `true`) on all master-eligible nodes. If you have the
357
+ {oss-dist}, do not use these settings.
358
+
359
+ For more information about these settings, see <<ml-settings>>.
360
+
361
+ To create a dedicated {ml} node in the {default-dist}, set:
362
+
363
+ [source,yaml]
364
+ -------------------
365
+ node.master: false <1>
366
+ node.data: false <2>
367
+ node.ingest: false <3>
368
+ node.ml: true <4>
369
+ xpack.ml.enabled: true <5>
370
+ cluster.remote.connect: false <6>
371
+ -------------------
372
+ <1> Disable the `node.master` role (enabled by default).
373
+ <2> Disable the `node.data` role (enabled by default).
374
+ <3> Disable the `node.ingest` role (enabled by default).
375
+ <4> The `node.ml` role is enabled by default.
376
+ <5> The `xpack.ml.enabled` setting is enabled by default.
377
+ <6> Disable {ccs} (enabled by default).
285
378
286
379
[float]
287
380
== Node data path settings
@@ -334,7 +427,3 @@ lead to unexpected data loss.
334
427
More node settings can be found in <<modules,Modules>>. Of particular note are
335
428
the <<cluster.name,`cluster.name`>>, the <<node.name,`node.name`>> and the
336
429
<<modules-network,network settings>>.
337
-
338
- ifdef::include-xpack[]
339
- include::ml-node.asciidoc[]
340
- endif::include-xpack[]
0 commit comments