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.

- Windows: Start menu > Elvis > Elvis Server > click Open config
- MacOS: Applications > Elvis Server > click Open config
- Linux: Access /srv/elvis-server/config
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 6 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. (Optional) Set the preferred number of replicas for the cluster. Each replica creates a copy of the index and helps to improve search capabilities and can function as a backup.
A minimum and maximum limit can be set for replicas. By default the replicas will scale so that for each node in the cluster -1 a replica will be created until the maximum limit is reached.
Note: Adding more replicas improves the balancing of search capacity over the nodes and thereby improves search speeds. However as every replica is a copy of the primary index they take up the same amount of disk space as the primary; when updating data, both the primary and all replicas need to be updated.
Replicas are controlled through the following option:
- Location: The cluster properties page in the Management Console
- Option name: autoExpandReplicas
- Possible values: a dash-delimited lower and upper bound, 'all', or 'false'
- Default value: 0-3
- Example:
0-all
Notes:
|
Step 8. Start the original node.
Step 9. Wait a minimum of 15 seconds and start the other nodes.
Step 10. On any of the nodes, access the Paramedic page in Elvis Server and notice that only the config indices are replicated:
- For Elvis 6.16 or higher: access the Management Console and in the menu on the left, choose Tools > Support tools > Paramedic (in the Elasticsearch section under Plugins).
- For Elvis 6.15 or lower: access the Admin pages and choose Server Status > ES Monitoring plug-ins > Paramedic.
Step 11. Access the Update index page:
- For Elvis 6.16 or higher: access the Management Console and in the menu on the left, choose Tools > Index revision tool.
- For Elvis 6.15 or lower: access the Admin pages and choose Update index.
Step 12. In the "Choose index to update" section, re-index each index except "config".
This will increase the current revision for each of the indices and trigger the shards to replicate on the other node.
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
0 comments
Please sign in to leave a comment.