Development

How to install Elasticsearch on Debian 11

Captain Salem 2 min read

How to Install Elasticsearch on Debian 11

Elasticsearch is a distributed, free and open search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. Elasticsearch is built on Apache Lucene and was first released in 2010 by Elasticsearch N.V. (now known as Elastic). Known for its simple REST APIs, distributed nature, speed, and scalability, Elasticsearch is the central component of the Elastic Stack, a set of free and open tools for data ingestion, enrichment, storage, analysis, and visualization. Commonly referred to as the ELK Stack (after Elasticsearch, Logstash, and Kibana), the Elastic Stack now includes a rich collection of lightweight shipping agents known as Beats for sending data to Elasticsearch.

To install Elasticsearch on Debian, start by updating your system:

$ sudo apt-get update && sudo apt-get upgrade

Install the official Elastic APT package signing key:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Install the apt-transport-https package, which is required to retrieve deb packages served over HTTPS:

sudo apt-get install apt-transport-https

Add the APT repository information to your server’s list of sources:

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

Update the list of available packages:

sudo apt-get update

Install the elasticsearch package:

sudo apt-get install -y elasticsearch

Set the JVM heap size to approximately half of your server’s available memory. For example, if your server has 1GB of RAM, change the Xms and Xmx values in the /etc/elasticsearch/jvm.options file to 512m. Leave the other values in this file unchanged:

sudo nano /etc/elasticsearch/jvm.options
-Xms512m
-Xmx512m

Enable and start the elasticsearch service:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Wait a few moments for the service to start, then confirm that the Elasticsearch API is available:

curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200 

The Elasticsearch REST API should return a JSON response similar to the following:

{
  "name" : "Cp8oag6",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  "version" : {
    "number" : "8.3.2",
    "build_type" : "tar",
    "build_hash" : "f27399d",
    "build_flavor" : "default",
    "build_date" : "2016-03-30T09:51:41.449Z",
    "build_snapshot" : false,
    "lucene_version" : "9.2.0",
    "minimum_wire_compatibility_version" : "1.2.3",
    "minimum_index_compatibility_version" : "1.2.3"
  },
  "tagline" : "You Know, for Search"
}

To determine whether or not the service has started successfully, check the status

systemctl status elasticsearch

Closing

And that;s it for this one. Using this article, you have successfully installed Elasticsearch on your Debian 11 system.

Thanks for reading!!

Share
Comments
More from Cloudenv

Cloudenv

Developer Tips, Tricks and Tutorials.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Cloudenv.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.