Deploying an ElasticSearch 2.x cluster on Ubuntu 16.04 LTS


(Jason Bayton) #1

Originally published at: https://bayton.org/2016/09/deploying-an-elasticsearch-cluster-on-ubuntu-16-04/

In this guide What is Elasticsearch Why a cluster? Creating the environment Hardware Launching servers in a hosted environement Deploying servers on LXD LXD host VLAN setup Preparation and installation Connect to the server Server VLAN setup Install Java OpenJDK Oracle Java Install Elasticsearch Configure Elasticsearch Using Elasticsearch Create an index Add data Search for data Adding more nodes Manually LXD Hosted environments with clone support Additional master nodes (redundancy) Conclusion 1. What is Elasticsearch? Elasticsearch is a free, open source, distributed search engine based on Apache Lucene. Elasticsearch boasts being able to take the overwhelming complexity of Lucene and present it in a simple to use, cross-platform product providing communication through a REST API over HTTP. Elasticsearch integrates with various solutions to provide in-depth search, analysis and manipulation of data. 1.1. Why a cluster? As a standalone server Elasticsearch will work well in smaller or development environments. For production environments however for improved stability, scalability and performance a cluster is very much recommended. As demand grows, adding additional servers is simple and straightforward. 2. The environment 2.1. Hardware Before getting started, note that the resources used in this guide are vastly lower than those recommended by Elastic for running ElasticSearch in production. Although CPU is less of a concern for ElasticSearch, memory is very important; on production environments at least 8GB of RAM is recommended, preferably 16GB or even 32GB due to the potential workloads of the ElasticSearch cluster. Similarly, plenty of SSD or 15K drive storage is also recommended. As…