Prerequisites

We want your experience with Elastic Cloud Enterprise to be a success, so we compiled a list of tried-and-tested prerequisites that will help you install and run our software successfully. To make it easier to look through these prerequisites, we separated them into sections for hardware, software, users, and networking.

Hardware

The following hardware specifications for host machines work well with Elastic Cloud Enterprise:

  • Memory: At least 8 GB of RAM, 64 GB or more preferred
  • Storage:

    • For allocators handling user requests: Enough storage to support the RAM-to-storage ratio. For example, if you use a host with 16 GB of RAM and the default ratio of 1:32, provide 512 GB of disk space.
    • For hosts that will hold other runner roles, such as coordinators, directors and proxies: At least 10 GB of disk space.

Software

The following software works well with Elastic Cloud Enterprise:

  • One of the following Linux distributions (see Limitations):

    • Ubuntu 14.04 LTS (Trusty Tahr)
    • Ubuntu 16.04 LTS (Xenial Xerus)
    • Red Hat Enterprise Linux (RHEL) 7 or later
    • CentOS 7 or later

      Note

      Amazon Linux is not currently supported. If you attempt to install Elastic Cloud Enterprise on Amazon Linux, installation will likely fail with an error.

  • Linux kernel 3.10 or higher
  • Docker 1.11
  • Recommended: XFS file system (required if you want to use disk space quotas for Elasticsearch data directories, but see Limitations)
  • If SELinux is enabled: Your SELinux configuration must allow mounting Docker sockets into containers (required for cluster management to work)

Elastic Cloud Enterprise is certified for Linux kernel 3.10 or higher and Docker 1.11. The latter is the only version of Docker Elastic recommends.

If you intend to use Docker 1.12 or higher, please note:

  • You should avoid Linux kernel version 4.4 or lower, as there is a known issue with kernel memory (kmem) accounting.
  • You should disable kernel memory accounting for all memory cgroups by passing the cgroup.memory=nokmem parameter to the kernel at boot time.
  • While Elastic Cloud Enterprise may work with these Docker and kernel versions, it has not been thoroughly tested with them and might have issues. Elastic will attempt to support Elastic Cloud Enterprise running Docker version 1.12 or higher and kernel version 4.5 or higher, but we might not be able to resolve issues related to these configurations. In such cases, you will be asked to move to a certified kernel and Docker version, so that Elastic can support you.

Users

The following users and permissions are required:

  • To prepare your environment: A user with sudo permissions, such as the `elastic ` user included with our AWS AMIs or the ubuntu user provided on Ubuntu
  • To install Elastic Cloud Enterprise: A user who is part of the docker group. You should not install Elastic Cloud Enterprise as the root user.

You can find out information about a user with the id command:

id
uid=1000(elastic) gid=1000(elastic) groups=1000(elastic),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),102(netdev),112(libvirtd),1001(docker)

In this example, the user elastic belongs to both the sudo and the docker groups.

Networking

Important

The first host you install Elastic Cloud Enterprise on initially requires the ports for all roles to be open, which includes the ports for the coordinator, allocator, director, and proxy roles. After you have brought up your initial Elastic Cloud Enterprise installation, only the ports for the roles that the initial host continues to hold need to remain open.

The following networking or internet access is required for Elastic Cloud Enterprise:

  • Internet access for a typical installation (offline installation is supported)
  • Outbound traffic open on the following ports:

    Host roleOutbound portsPurpose

    All

    80

    Installation script and container-registry.elastic.co Docker registry access (HTTP)

    All

    443

    Installation script and container-registry.elastic.co Docker registry access (HTTPS)

  • Inbound traffic open from any source on the following ports:

    Host roleInbound portsPurpose

    All

    22

    Required for troubleshooting

    Coordinator

    12300

    Elastic support access (HTTP)

    Coordinator

    12343

    Elastic support access (HTTPS)

    Coordinator

    12400

    Cloud UI and API access to the administration console (HTTP)

    Coordinator

    12443

    Cloud UI and API access to the administration console (HTTPS)

    Proxy

    9200/9243

    Kibana and Elasticsearch (HTTP/HTTPS)

    Proxy

    9300/9343

    Elasticsearch (transport and transport with TLS/SSL)

  • Internal components of Elastic Cloud Enterprise require inbound traffic open on the following ports:

    Host roleInbound portsPurpose

    All

    12375

    Upgrader service

    Coordinator

    8764

    Services forwarder for the administration console

    Coordinator

    22191-22195

    Connections to initial coordinator from allocators and proxies (for up to five coordinators)

    Director

    12191-12301, 12898-12908, 13898-13908

    ZooKeeper stunnels (typically up to five)

    Director

    2112

    ZooKeeper ensemble discovery/joining

    Allocator

    18000-20000

    Elasticsearch (HTTP and transport)