It is time to say goodbye: This version of Elastic Cloud Enterprise has reached end-of-life (EOL) and is no longer supported.
The documentation for this version is no longer being maintained. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Example: A Large Installation with Separate Management Services and Proxies
editExample: A Large Installation with Separate Management Services and Proxies
editWhat you get: This example creates large Elastic Cloud Enterprise installation that separates the allocator and proxy roles from the ECE management services (the director and coordinator roles). Intended for larger deployments with significant overall search and indexing throughput, this example uses three availability zones, so that it is highly available. To create this installation, you need nine to twelve hosts, more if you need additional allocators to handle a higher volume of user requests.
Need more capacity still? Scale up your installation by adding more allocators as the number of Elasticsearch clusters and Kibana instances hosted by Elastic Cloud Enterprise continues to grow.
The numbered steps in the illustration match the steps in our instructions that begin with . You need to perform some steps on more than one host, as indicated. Don’t forget to substitute the coordinator host and other information that is specific to your installation when you run the commands.
What you need:
- 3 hosts with at least 32 GB RAM each for directors and coordinators (ECE management services)
- 3 or more hosts with 256 GB RAM each for allocators
- 3 hosts with 16 GB RAM each for proxies
-
We recommend the following JVM heap sizes:
Service JVM Heap Size (Xms and Xmx) runner
1 GB
allocator
4 GB
proxy
8 GB
zookeeper
4 GB
director
1 GB
constructor
4 GB
admin-console
4 GB
To deploy this Elastic Cloud Enterprise installation:
-
Install Elastic Cloud Enterprise on the first host to start a new installation with your first availability zone. This first host holds all runner roles to help bootstrap the rest of the installation, but you will remove some of its roles in a later step. After installation completes, copy down the coordinator host IP address, user credentials and roles token information. Keep this information safe.
bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --availability-zone MY_ZONE-1 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"zookeeper":{"xms":"4G","xmx":"4G"},"director":{"xms":"1G","xmx":"1G"},"constructor":{"xms":"4G","xmx":"4G"},"admin-console":{"xms":"4G","xmx":"4G"}}'
-
Generate a new roles token that persists for one hour on the first host, so that other hosts can join your installation with the right role permissions in subsequent steps (referred to as
MY_TOKEN
). The new token needs to enable the director, coordinator and proxy runner roles.curl -k -H 'Content-Type: application/json' -u root:PASSWORD https://localhost:12443/api/v1/platform/configuration/security/enrollment-tokens -d '{ "persistent": false, "roles": ["director", "coordinator", "proxy"] }'
-
Install Elastic Cloud Enterprise on a second and third host, placing them into a second and a third availability zone, and assign them the
director
andcoordinator
roles. Do not assign theallocator
or theproxy
role, as these runners should not handle or route any user requests. Make sure you include the coordinator host IP information from Step 1 and the new roles token from Step 2.bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'MY_TOKEN' --roles "director,coordinator" --availability-zone MY_ZONE-2 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"zookeeper":{"xms":"4G","xmx":"4G"},"director":{"xms":"1G","xmx":"1G"},"constructor":{"xms":"4G","xmx":"4G"},"admin-console":{"xms":"4G","xmx":"4G"}}' bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'MY_TOKEN' --roles "director,coordinator" --availability-zone MY_ZONE-3 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"zookeeper":{"xms":"4G","xmx":"4G"},"director":{"xms":"1G","xmx":"1G"},"constructor":{"xms":"4G","xmx":"4G"},"admin-console":{"xms":"4G","xmx":"4G"}}'
-
To handle the Elasticsearch and Kibana workload, install Elastic Cloud Enterprise on three or more hosts, distributing them evenly across the existing three availability zones, or on however many hosts you think you need initially, and assign them the
allocator
role. Make sure you include the coordinator host IP information and allocator roles token from Step 1.bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'ALLOCATOR_TOKEN' --roles "allocator" --availability-zone MY_ZONE-1 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"allocator":{"xms":"4G","xmx":"4G"}}' bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'ALLOCATOR_TOKEN' --roles "allocator" --availability-zone MY_ZONE-2 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"allocator":{"xms":"4G","xmx":"4G"}}' bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'ALLOCATOR_TOKEN' --roles "allocator" --availability-zone MY_ZONE-3 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"allocator":{"xms":"4G","xmx":"4G"}}'
-
To handle the routing of user requests to Elasticsearch, install Elastic Cloud Enterprise on a three additional hosts, distributing them evenly across the existing three availability zones, and assign them the
proxy
role. Do not assign any other roles, as these runners should only route user requests. Make sure you include the coordinator host IP information from Step 1 and the new roles token from Step 2.bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'MY_TOKEN' --roles "director,coordinator,proxy" --availability-zone MY_ZONE-1 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"proxy":{"xms":"8G","xmx":"8G"}}' bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'MY_TOKEN' --roles "director,coordinator,proxy" --availability-zone MY_ZONE-2 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"proxy":{"xms":"8G","xmx":"8G"}}' bash <(curl -fsSL https://download.elastic.co/cloud/elastic-cloud-enterprise.sh) install --coordinator-host HOST_IP --roles-token 'MY_TOKEN' --roles "director,coordinator,proxy" --availability-zone MY_ZONE-3 --memory-settings '{"runner":{"xms":"1G","xmx":"1G"},"proxy":{"xms":"8G","xmx":"8G"}}'
-
Modify the first host you installed Elastic Cloud Enterprise on to prevent it from handling or routing user requests:
- Enable maintenance mode to prevent new Elasticsearch clusters and Kibana instances from being provisioned on the host whilst it still holds the allocator role.
-
Move all nodes off the first host in preparation for removing the allocator role. This step moves the ES admin cluster and ES logging cluster that are part of the Elastic Cloud Enterprise administration console, shown as
admin-console-elasticsearch
andlogging-and-metrics
in the Cloud UI. Elasticsearch clusters and Kibana instances cannot be moved at the same time, so move one after the other. Verify that both Elasticsearch clusters and Kibana have been moved to another allocator.Moving all nodes can take a few minutes. You can check progress on the Activity Feed page in the Cloud UI.
- After all cluster nodes have finished moving off the first host, remove the allocator role so that the first host is no longer handling any Elasticsearch or Kibana workloads.
- Update the cluster endpoints, replacing the IP address portion of the CNAME with the IP address of one of the new proxies you created in Step 5. This step is needed so that the Elasticsearch and Kibana endpoints URLs shown in the Cloud UI use one of the new proxies you created. Note that if you plan to use a load balancer as recommended, you will access cluster endpoints through the load balancer rather than going directly to a proxy after installation is complete.
- Remove the proxy role from the first host so that the host is no longer routing any user requests.
At this point, the first host you installed Elastic Cloud Enterprise on should hold only the coordinator and director roles, making it the third runner to hold these roles along with the runners created in Step 3.
-
Change the cluster configuration for the
admin-console-elasticsearch
andlogging-and-metrics
clusters to use three availability zones and resize the cluster to use at least 4 GB of RAM. This change makes sure that the clusters used by the administration console are highly available and provisioned sufficiently.
After your Elastic Cloud Enterprise installation is up, some additional steps might be required:
- Add your own load balancer. Load balancers are user supplied and we do not currently provide configuration steps for you.
- Install your security certificate to enable TLS/SSL authentication for secure connections over HTTPS.