If an OpenSearch cluster struggles to maintain performance in the face of rapid data growth or sustained high memory usage, you may scale it horizontally by adding more nodes and more node types, or do so vertically by increasing the storage capacity of existing nodes.
Type | Scenario | Change Process |
|---|---|---|
Adding new nodes | If a cluster experiences rapid data growth or sustained high memory usage, you may add more nodes to it to improve cluster availability. | Procedure for adding data nodes or cold data nodes:
Adding master or client nodes does not trigger data migration. During the capacity expansion, the system ensures that each shard has at least one available replica to ensure service continuity. |
Adding new node types | For a cluster that has no master or client nodes, as the load on its data plane increases, you may add master or client nodes to it to share the load of the data nodes. | Procedure for adding a new node type: New nodes are added and cluster configuration is modified. Adding master or client nodes does not trigger data migration, and therefore does not interrupt services. When client nodes are added, the cluster's address changes from the data node address to the client node address. You must update the client configuration to use this new address. Otherwise, the client nodes cannot function. |
Increasing node storage capacity |
|
The disk capacity expansion will not interrupt ongoing services. |
For a pay-per-use cluster, you can see its new price when confirming the scale-out or scale-up on the console. After the scale-out or scale-up is complete, the new price will apply. For pricing details, see .
Node Type | Value Range |
|---|---|
Data nodes |
|
Master nodes | 3, 5, 7, or 9 (must be an odd number from 3 to 9) |
Client nodes | 1–32 |
Cold data nodes | 1–32 |
Before the change, learn about possible impacts and operation suggestions, and develop a plan to minimize these impacts.
Expanding the storage capacity of cluster nodes (vertical scaling) does not impact services, whereas adding new nodes or new node types (horizontal scaling) may have the following impacts:
Adding new nodes does not interrupt services. However, after new nodes are added, data shards need to be redistributed to these nodes to balance the load, and this process will consume I/O performance. This is why you are advised to perform the operation during off-peak hours.
To minimize this impact, it is advisable to adjust the data migration rate based on the cluster's traffic cycle: increase the data migration rate during off-peak hours to shorten the task duration, and decrease it before peak hours arrive to ensure optimal cluster performance. The data migration rate is determined by the indices.recovery.max_bytes_per_sec parameter. The default value of this parameter is the number of vCPUs multiplied by 32 MB. For example, for four vCPUs, the data migration rate is 128 MB. Set this parameter to a value between 40 MB and 1000 MB based on your service requirements.
PUT /_cluster/settings{"transient": {"indices.recovery.max_bytes_per_sec": "1000MB"}}
Once started, a scaling task cannot be stopped until it succeeds or fails.
If a cluster experiences rapid data growth or sustained high memory usage, you may add more nodes to it or increase the cluster nodes' storage capacity. This helps to improve service and data availability and durability.
Parameter | Description |
|---|---|
Action | Select Scale out. |
Resources | Quantities of resources added. |
Nodes | Increase the number of nodes and node storage capacity in the Nodes and Node Storage Type columns. You can change multiple node types at the same time.
|
For a cluster that has no master or client nodes, as the load on its data plane increases, you may add master or client nodes to it to share the load of the data nodes.
If a cluster already has both master and client nodes, the Add Master/Client Nodes tab is unavailable.
Parameter | Description |
|---|---|
Node types | Select the type of nodes you want to add.
|
Node Specifications | Select node specifications based on site requirements. |
Nodes | Set the number of nodes to add for this node type. For the value range, see Constraints. |
Node Storage Type | Set the node storage type. The storage capacity per master or client node is fixed to 40 GB. |
Return to the cluster list page. The Task Status of the cluster is Scaling out.