Our previous article was on how to install Elasticsearch 5.x on Ubuntu 18.04 LTS. I noticed some guys are interested in installing and using Elasticsearch 6.x on Ubuntu 18.04 instead. This guide will help you to install Elasticsearch 6.x on Ubuntu 18.04 LTS (Bionic Beaver) server.
Elasticsearch is an open-source analytics and full-text search engine based on Lucene. It provides a distributed, multitenant-capable architecture which enables you to store, search and analyze huge volumes of data faster from an HTTP web interface and schema-free JSON documents.
Follow the steps below to Install Elasticsearch 6.x on Ubuntu 18.04 LTS server.
Step 1: Import Elasticsearch GPG Key
The first step is to import Elasticsearch GPG Key which will trust
elasticsearch packages downloaded from the upstream repository. Import the key by running the commands on your terminal.
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - OK
Step 2: Add Elasticsearch 6.x APT repository
Now that the GPG key has been imported, add the apt repository by running:
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-6.x.list
Step 3: Install OpenJDK
Elasticsearch is dependent on Java, you’ll need OpenJDK Java runtime environment installed to be able to run elasticsearch on your system.
sudo apt update sudo apt install apt-transport-https openjdk-8-jre-headless
Step 4: Install Elasticsearch 6.x on Ubuntu 18.04
apt-get update then install elasticsearch package on your Ubuntu 18.04 server:
sudo apt update sudo apt install elasticsearch
After the installation, a default configuration file will be populated to
/etc/elasticsearch/elasticsearch.ymlMost lines are commented out, edit the file to tweak and tune the configuration.
E.g, you can set the correct cluster name for your applications:
Note that the default minimum memory set for JVM is 2gb, if your server has small memory size, change this value:
sudo vim /etc/elasticsearch/jvm.options
And set your values for minimum and maximum memory allocation. E.g to set values to 512mb of ram, use:
Note that it is recommended to set the min and max JVM heap size to the same value. Xms represents the initial size of total heap space and Xmx represents the maximum size of total heap space.
After you have modified the configuration, you can start Elasticsearch:
sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl restart elasticsearch.service
Check elasticsearch service status:
$ sudo systemctl status elasticsearch.service ● elasticsearch.service - Elasticsearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2018-08-18 05:16:08 UTC; 7s ago Docs: http://www.elastic.co Process: 14314 ExecStartPre=/usr/share/elasticsearch/bin/elasticsearch-systemd-pre-exec (code=exited, status=0/SUCCESS) Main PID: 14325 (java) Tasks: 38 (limit: 2362) CGroup: /system.slice/elasticsearch.service └─14325 /usr/bin/java -Xms512m -Xmx512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -X
You now have a working Elasticsearch 6.x on Ubuntu 18.04 LTS (Bionic Beaver) server. Other articles related to Elasticsearch are: