In this tutorial, we will show you how to install Elasticsearch on your CentOS 8. 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 the step-by-step installation of Elasticsearch on a CentOS 8 server.
Prerequisites
- A server running one of the following operating systems: CentOS 8.
- 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 CentOS 8
Step 1. First, let’s start by ensuring your system is up-to-date.
sudo dnf update
Step 2. Installing Java.
Run these commands to install Java on CentOS:
sudo dnf install java-11-openjdk-devel
Verify the Java installation by running the following command which will print the Java version:
java -version
Step 3. Installing Elasticsearch on CentOS.
First, add its repository to your system:
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
And your repository is ready for use. You can now install Elasticsearch with one of the following commands:
sudo dnf update sudo dnf 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 sudo systemctl start --now elasticsearch.service
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 cluster.name: ES_Cluster_046 node.name: "Cluster_01_Node_0046"
Restart the Elasticsearch service for the changes to take effect:
sudo systemctl restart --now elasticsearch.service
Step 5. Test Elasticsearch.
The Elasticsearch service is ready to use. You can test it using curl
the command-line utility. Run the simple GET command using curl to verify the setup. You will see the Elasticsearch cluster details with the version on your screen:
curl -X GET "localhost:9200/"
You should see something similar to this:
{ "name" : "kwEpBMW", "cluster_name" : "elasticsearch", "cluster_uuid" : "B-5B34ramonaeIYwSgD3kimpoiww", "version" : { "number" : "6.6.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "1fd8f69", "build_date" : "2020-07-05T17:18:46.160861Z", "build_snapshot" : false, "lucene_version" : "7.9.0", "minimum_wire_compatibility_version" : "5.7.0", "minimum_index_compatibility_version" : "5.8.0" }, "tagline" : "You Know, for Search" }
Congratulations! You have successfully installed Elasticsearch. Thanks for using this tutorial for installing Elasticsearch on your CentOS 8 system. For additional help or useful information, we recommend you to check the official Elasticsearch website.