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.
The following instructions show you how to prepare your hosts on Red Hat Enterprise Linux (RHEL) 7 or later and on CentOS 7 or later.
If you want to install Elastic Cloud Enterprise on own hosts, the steps for preparing your hosts can take a bit of time. There are two ways you can approach this:
- Think like a minimalist: Install the correct version of Docker on hosts that meet the prerequisites for Elastic Cloud Enterprise, then skip ahead and install Elastic Cloud Enterprise. This approach is similar to the Quick Start Guide. Be aware that some checks during the installation can fail with this approach, which will mean doing further host preparation work before retrying the installation.
- Cover your bases: If you want to make absolutely sure that your installation of Elastic Cloud Enterprise can succeed on hosts that meet the prerequisites, or if any of the checks during the installation failed previously, run through the full preparation steps in this section and then and install Elastic Cloud Enterprise. You’ll do a bit more work now, but life will be simpler later on.
Regardless of which approach you take, the steps in this section need to be performed on every host that you want to use with Elastic Cloud Enterprise.
Install a Supported Linux Kerneledit
Elastic Cloud Enterprise requires 3.10 or higher. The steps shown here install kernel 4.4.
Add the repository required to obtain the kernel:
sudo yum install -y yum-plugin-fastestmirror http://elrepo.org/linux/kernel/el7/x86_64/RPMS/elrepo-release-7.0-2.el7.elrepo.noarch.rpm sudo yum makecache fast
Install kernel version 3.10 or higher from the repository:
sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
/etc/default/grubfile with the required options:
sudo sed -i -e 's|^GRUB_CMDLINE_LINUX=\(.*\)|GRUB_CMDLINE_LINUX=\"crashkernel=auto rhgb quiet console=ttyS0 cgroup_enable=memory swapaccount=1\"|g' /etc/default/grub
echo "overlay" | sudo tee -a /etc/modules-load.d/overlay.conf
Refresh the dynamically generated grub2 configuration and configure grub to boot the newly installed kernel 3.10 or higher:
sudo grub2-mkconfig -o /etc/grub2.cfg sudo grub2-set-default 0
Install Docker Version 1.11edit
Recommended: Add the Docker repository to make installing the correct version of Docker easier:
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF sudo yum makecache fast
Install the correct version of the
sudo yum install docker-engine-1.11*
Update the Configurations Settingsedit
Stop the Docker service:
sudo systemctl stop docker
If you plan to run Elasticsearch 5.0 and later: Update the
/etc/sysctl.conffile to set the maximum number of mapped memory areas a process can have:
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
Verify that IPv4 forwarding is enabled:
If the output of this command is not
1, you must enable IPv4 forwarding so that Docker can work as expected:
/etc/sysctl.conffile to include this line:
net.ipv4.ip_forward = 1
Restart the network service:
sudo service network restart
Verify that the change is applied:
1indicates that IPv4 forwarding is turned on.
Adjust the system limits.
Add the following configuration values to the
/etc/security/limits.conffile. These values are derived from our experience with the Elastic Cloud hosted offering and should be used for Elastic Cloud Enterprise as well.
If you are using a user name other than
elastic, adjust the configuration values accordingly.
* soft nofile 1024000 * hard nofile 1024000 * soft memlock unlimited * hard memlock unlimited elastic soft nofile 1024000 elastic hard nofile 1024000 elastic soft memlock unlimited elastic hard memlock unlimited root soft nofile 1024000 root hard nofile 1024000 root soft memlock unlimited
/mnt/data/directory as a mount point:
sudo install -o $USER -g $USER -d -m 700 /mnt/data
/mnt/data/dockerdirectory for the Docker service storage:
sudo install -o $USER -g $USER -d -m 700 /mnt/data/docker
Disable the firewalld service. The service is not compatible with Docker and interferes with the installation of ECE. You must disable firewalld before installing or reinstalling ECE.
sudo systemctl disable firewalld
Configure the Docker daemon options.
/etc/systemd/system/docker.service.d/docker.conffile. If the file path and file do not exist, create them first.
[Unit] Description=Docker Service After=multi-user.target [Service] ExecStart= ExecStart=/usr/bin/docker daemon -g /mnt/data/docker --storage-driver=overlay --bip=172.17.42.1/16
Apply the updated Docker daemon configuration:
Reload the Docker daemon configuration:
sudo systemctl daemon-reload
Restart the Docker service:
sudo systemctl restart docker
Enable Docker to start on boot:
sudo systemctl enable docker
Enable your user to communicate with the Docker subsystem by adding it to the
sudo usermod -aG docker $USER
Recommended: Tune your network settings.
70-cloudenterprise.conffile in the
/etc/sysctl.d/file path that includes these network settings:
cat << SETTINGS | sudo tee /etc/sysctl.d/70-cloudenterprise.conf net.ipv4.tcp_max_syn_backlog=65536 net.core.somaxconn=32768 net.core.netdev_max_backlog=32768 SETTINGS
Pin the Docker version to ensure that the
docker-enginepackage does not get upgraded:
echo "exclude=docker-engine" | sudo tee -a /etc/yum.conf
Reboot your system to ensure that all configuration changes take effect:
After rebooting, verify that your Docker settings persist as expected:
sudo docker info | grep Root
If the command returns
Docker Root Dir: /mnt/data/docker, then your changes were applied successfully and persist as expected.
If the command returns
Docker Root Dir: /var/lib/docker, then you need to troubleshoot the previous configuration steps until the Docker settings are applied successfully before continuing with the installation process. For more information, see Custom Docker daemon options in the Docker documentation.
- Repeat these steps on other hosts that you want to use with Elastic Cloud Enterprise or follow the steps in the next section to start installing Elastic Cloud Enterprise.