Horizontal Scaling for Elasticsearch - Enterprise

🚧

Availability

This feature is only available to Enterprise customers who have had it activated. Contact support for guidance on your horizontal scaling requirements and feature activation.

Overview

In Elasticsearch deployments where you have a large amount of reads at any given time, it might be worth horizontally scaling your deployment with additional data-nodes. These nodes would take on the additional workload and not be master-eligible. If you also take advantage of using the additional nodes to add more replicas of indexes, you will also have a bit more redundancy should something happen to another node on your deployment.

Adding a Data Node

To add extra nodes, navigate to the Nodes pane and, in the Resources panel, click Add Data Nodes. The Data Nodes panel willåç show the current number of data nodes, their combined storage and memory, and a slider for you to increase to your desired number of nodes.å

1406

The Data Nodes panel.

As you move the slider the description of the resources configured to your deployment reflects the current selection.

1326

Adding a node dialogue.

Click Confirm to trigger the scaling operation. When the operation is finished the Resources pane should reflect the current configuration of Master-Data Nodes and Data Nodes in your deployment.

Post-Scaling Operations

After you have added a data-node, you might want to increase the number of replicas for your highly used indexes in order to balance workload across the cluster. This step isn't required: if you leave the number of replicas the same or create new indexes with the replicas set to one, Elasticsearch will still balance the existing replicas across the cluster, but a replica of an index might not exist on every node.

To increase the number of replicas of an existing index, use a PUT call to the Indices API with the settings: {"number_of_replicas": } set in the body.

The following example increases the replicas for the 'shakespeare' index with curl:

curl -XPUT '[[your_connection_string]]/shakespeare?pretty' -H 'Content-Type: application/json' -d'
{
   "settings" : {
      "number_of_replicas" : 2
   }
}'

You can also set the number of replicas at index creation.


Still Need Help?

If this article didn't solve things, summon a human and get some help!