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