Logo Help Center

Upscaling a stand-alone cluster to a multi-node cluster in Elvis 6 Server

Upscaling a stand-alone cluster to a multi-node cluster in Elvis 6 Server

Elvis 6 can be run as a stand-alone cluster consisting of 1 node or as a cluster consisting of many nodes (see The Elvis 6 structure: clusters and nodes).

This article describes how to upscale an existing stand-alone cluster to a multi-node cluster.

Note: It is assumed here that the stand-alone cluster is already fully up and running and uses manual discovery.

Step 1. Stop the current node.

Step 2. Install Elvis 6 Server on as many additional machines as needed.

Step 3. On each system, access the config folder of Elvis Server.

Step 4. In the node-config.properties.txt file, configure the following options:

  • Set the cluster name to the same name by setting the clusterName option:

Example: clusterName=ElvisDemo

  • Set the shared data location by setting the sharedDataLocation option:

Example: sharedDataLocation=${appDataDir}/Elvis Shared Data

  • Set the IP addresses of the other nodes in the cluster by updating the cluster.join.tcpip.members option.

Step 5. In the cluster-config.properties.txt file, configure the following options:

Note: The cluster-config.properties.txt file needs to be identical for all node configurations. After setting up the first node and configuring subsequent nodes, make sure that any changes to a cluster property are implemented in the cluster-config.properties file for all nodes. See also Changing the Elvis 5 Server configuration for a running cluster.

  • Set the cluster count to the total number of nodes in the cluster:

Example: cluster.nodeCount=3

  • Set the Search node count to the total number of Search nodes in the cluster:

Example: cluster.searchNodeCount=3

  • When the sharedDataLocation is different on each node, make sure that the elasticsearch.backup.location (which references this location by default) is also configured correctly for the cluster.

Step 6. By default, the index.numberOfShards setting matches the cluster.searchNodeCount setting. When changing the cluster.searchNodeCount setting therefore, the index.numberOfShards setting should also be changed.

One shard per Search node is best from a performance point of view.

If you expect your number of Search nodes to grow, configure the index.numberOfShards setting to match your expected maximum number of Search nodes.

If your indices have already been created and you change the number of Search nodes or change the index.numberOfShards setting, you will need to update the Elvis Server index.

For more information, see the comment for the index.numberOfShards setting in the cluster-config.properties.txt file.

Step 7. Start the original node.

Step 8. Wait a minimum of 15 seconds and start the other nodes.

Step 9. On any of the nodes, access the Elvis Server Admin page.

Note: Through the Admin pages the full cluster can be controlled from each node.

The Server Admin pages for Elvis DAM 5

Step 10. Click Server Status > ES Monitoring plug-ins > Paramedic to open the Paramedic page and notice that only the config indices are replicated.

Accessing the Elastic Search Paramedic plug-in

Figure: Clicking "Server Status" (A) followed by "Paramedics" in "ES monitoring plug-ins" (B) will open the Paramedics plug-in page (see below).

The Elastic Search Paramedic plug-in

Step 11. Return to the Elvis Server Admin page and click Update index.

Step 12. In the "Choose index to update" section, click on each index except "config".

The Update Index page

This will increase the current revision for each of the indices and trigger the shards to replicate on the other node.

Replicated shards

Was this article helpful?
0 out of 0 found this helpful / Created: / Updated:
Have more questions? Submit a request


Please sign in to leave a comment.