You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/modules/opensearch/pages/usage-guide/scaling.adoc
+29-26Lines changed: 29 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,28 +2,31 @@
2
2
:description: OpenSearch clusters can be scaled after provisioning but manual steps are required.
3
3
4
4
OpenSearch clusters can be scaled after provisioning.
5
-
CPU and memory settings can be easily adapted as described in xref:opensearch:usage-guide/storage-resource-configuration.adoc#_resource_requests[Resource Requests].
6
-
But for changing the number of nodes or resizing the volumes, the following points must be noted.
5
+
CPU and memory settings can be easily adjusted, as detailed in the xref:opensearch:usage-guide/storage-resource-configuration.adoc#_resource_requests[Resource Requests].
6
+
However, when changing the number of nodes or resizing volumes, the following considerations must be kept in mind.
7
7
8
-
Horizontal scaling, i.e. changing the replica count of role-groups, can be easily done for non-data nodes by adapting the OpenSearchCluster specification.
9
-
The number of data nodes can also be increased.
10
-
But decreasing the number of data nodes requires manual steps because if a pod which manages data is just shut down then its data is not reachable anymore.
11
-
Manual steps are required to drain the data from the nodes before removing them.
8
+
Horizontal scaling, which involves adjusting the replica count of role groups, can be easily accomplished for non-data nodes by modifying the OpenSearchCluster specification.
9
+
Additionally, the number of data nodes can be increased.
10
+
However, reducing the number of data nodes requires manual intervention.
11
+
If a pod that manages data is simply shut down, its data becomes inaccessible.
12
+
Therefore, it is necessary to manually drain the data from the nodes before removing them.
12
13
13
-
Vertical scaling, i.e. changing the volume size of nodes, is not supported by the operator.
14
-
If the size of a volume can be changed depends on its CSI driver.
15
-
OpenSearch supports multiple data paths in one data node, but adding volumes in additional data paths usually does not solve the problem of low disk space because the data is not rebalanced across multiple data paths.
14
+
Vertical scaling, which refers to changing the volume size of nodes, is not supported by the operator.
15
+
Whether the size of a volume can be changed depends on its CSI driver.
16
+
OpenSearch allows for multiple data paths within a single data node, but adding volumes to additional data paths typically does not resolve low disk space issues, as the data is not automatically rebalanced across multiple data paths.
16
17
17
18
[NOTE]
18
19
====
19
-
The OpenSearch operator is still in an early stage and as development progresses, smart scaling (adapting resources without data loss) and auto scaling (scaling the cluster according to the load) will be eventually supported by the operator.
20
+
The OpenSearch operator is currently in the early stages of development.
21
+
As progress continues, smart scaling (adapting resources without data loss) and auto scaling (scaling the cluster based on load) will eventually be supported.
20
22
====
21
23
22
24
== Manually scaling
23
25
24
-
As mentioned above, scaling is quite a demanding task but there exists an easy workaround which will be presented here.
26
+
As noted earlier, scaling can be quite challenging;
27
+
however, an easy workaround exists, which will be presented here.
25
28
26
-
For instance, the following OpenSearchCluster with three custer-manager nodes and five small data nodes is already deployed:
29
+
For example, the following OpenSearchCluster has been deployed with three cluster-manager nodes and five small data nodes:
27
30
28
31
[source,yaml]
29
32
----
@@ -48,10 +51,10 @@ spec:
48
51
replicas: 5
49
52
----
50
53
51
-
Now, you decide that instead of five small data nodes, three large data nodes are better suited.
52
-
To achieve this, you can replace the role-group `data-small` with a desired one.
54
+
You have decided that three large data nodes would be more suitable than five small ones.
55
+
To implement this change, you can replace the rolegroup `data-small` with your preferred option.
53
56
54
-
First, add the new role-group `data-large` with three replicas and a capacity of 100Gi per node:
57
+
First, add the new rolegroup `data-large` with three replicas, each having a capacity of 100 Gi per node:
55
58
56
59
[source,yaml]
57
60
----
@@ -87,16 +90,16 @@ spec:
87
90
replicas: 3
88
91
----
89
92
90
-
The data must now be moved from `data-small` to `data-large`.
91
-
With the cluster setting `cluster.routing.allocation.exclude`, nodes can be excluded from shard allocation.
92
-
If you did not disable the rebalancing, then existing data will be moved from the specified nodes to the allowed ones, in the example case from `data-small` to `data-large`.
93
+
The data must now be transferred from `data-small` to `data-large`.
94
+
By using the cluster setting `cluster.routing.allocation.exclude`, you can exclude nodes from shard allocation.
95
+
If rebalancing has not been disabled, existing data will automatically move from the specified nodes to the allowed ones—in this case, from `data-small` to `data-large`.
93
96
94
97
[TIP]
95
98
====
96
-
The OpenSearch operator adds a role-group attribute to every OpenSearch node, so that it is easier to reference all nodes belonging to a role-group.
99
+
The OpenSearch operator assigns a rolegroup attribute to each OpenSearch node, making it easier to reference all nodes associated with a specific rolegroup.
97
100
====
98
101
99
-
The following REST call excludes the role-group `data-small` from the shard allocation:
102
+
The following REST call excludes the `data-small` role group from shard allocation:
100
103
101
104
[source,http]
102
105
----
@@ -114,8 +117,8 @@ PUT _cluster/settings
114
117
}
115
118
----
116
119
117
-
You have to wait now until all the data has been moved from `data-small` to `data-large`.
118
-
The current shard allocation can be requested at the `_cat/shards` endpoint, e.g.:
120
+
You must wait until all data has been transferred from `data-small` to `data-large`.
121
+
You can request the current shard allocation at the `_cat/shards` endpoint, for example:
119
122
120
123
[source,http]
121
124
----
@@ -133,7 +136,7 @@ logs 0 p STARTED 14074 6.9mb 10.244.0.59 opensearch-nodes-data-large
133
136
...
134
137
----
135
138
136
-
The statistics, especially the document count, can be retrieved at the `_nodes/role-group:data-small/stats` endpoint, e.g.:
139
+
Statistics, particularly the document count, can be retrieved from the `_nodes/role-group:data-small/stats` endpoint, for example:
137
140
138
141
[source,http]
139
142
----
@@ -209,7 +212,7 @@ GET _nodes/role-group:data-small/stats/indices/docs
209
212
210
213
----
211
214
212
-
When all shards were transferred, the role-group `data-small` can just be removed from the OpenSearchCluster specification:
215
+
Once all shards have been transferred, the `data-small` role group can be removed from the OpenSearchCluster specification:
213
216
214
217
[source,yaml]
215
218
----
@@ -234,7 +237,7 @@ spec:
234
237
replicas: 3
235
238
----
236
239
237
-
Finally, the shard exclusion should be removed again from the cluster settings:
240
+
Finally, the shard exclusion should be removed from the cluster settings:
238
241
239
242
[source,http]
240
243
----
@@ -252,4 +255,4 @@ PUT _cluster/settings
252
255
}
253
256
----
254
257
255
-
If your OpenSearch clients only used the service of the cluster-manager nodes to connect to the cluster, the switch from one to another data role-group should have been transparent for them.
258
+
If your OpenSearch clients connected to the cluster exclusively through the cluster-manager nodes, the switch from one data rolegroup to another should have been seamless for them.
0 commit comments