In this tutorial, we will show you how to install Elasticsearch on Ubuntu 20.04 LTS. For those of you who didn’t know, Elasticsearch is a flexible and powerful open-source, distributed real-time search and analytics engine. It supports RESTful operations and allows you to store, search, and analyze big volumes of data in real-time. Elasticsearch is one of the most popular search engines powering applications that have complex search requirements such as big e-commerce stores and analytic applications.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you through the step-by-step installation of Elasticsearch on a Ubuntu 20.04 (Focal Fossa) server.
Prerequisites
- A server running one of the following operating systems: Ubuntu 20.04, 18.04, and any other Debian-based distribution like Linux Mint or elementary OS.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install Elasticsearch on Ubuntu 20.04 LTS Focal Fossa
Step 1. First, make sure that all your system packages are up-to-date by running the following apt
commands in the terminal.
sudo apt update sudo apt upgrade
Step 2. Installing Elasticsearch on Ubuntu 20.04.
Run the following command to import the repository’s GPG key:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Now add the Elasticsearch repository to the system:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Then, run apt update then install Elasticsearch package on your Ubuntu system:
sudo apt update sudo apt install elasticsearch
Elasticsearch service will not start automatically after the installation process is complete. To start the service and enable the service to run:
sudo systemctl enable --now elasticsearch.service
To verify that Elasticsearch is running, use curl to send an HTTP request to port 9200 on localhost:
curl -X GET "localhost:9200/"
You should see something similar to this:
{ "name" : "vagrant", "cluster_name" : "elasticsearch", "cluster_uuid" : "IJqDxPfXSmeilanabRIg", "version" : { "number" : "7.8.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "757314695ramona26d1abmw5e65", "build_date" : "2020-07-14T19:38:55.2343Z", "build_snapshot" : false, "lucene_version" : "8.5.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } It may take 5-10 seconds for the service to start. If you see curl: (7) Failed to connect to localhost port 9200: Connection refused, wait for a few seconds and try again.
Step 4. Configure Elasticsearch.
We have an active installation for Elasticsearch now. To use Elasticsearch effectively, we can some important changes to the configuration. Run the following command to open the ES config file:
sudo nano /etc/elasticsearch/elasticsearch.yml
Change the following values:
network.host: 0.0.0.0
Restart the Elasticsearch service for the changes to take effect:
sudo systemctl restart elasticsearch
Congratulations! You have successfully installed Elasticsearch. Thanks for using this tutorial for installing Elasticsearch on your Ubuntu 20.04 LTS Focal Fossa system. For additional help or useful information, we recommend you to check the official Elasticsearch website.