Hello,
In this week’s feature highlight, we look at How To Install and Configure Elasticsearch on Ubuntu 22.10
Elasticsearch is a platform for real-time, distributed data analysis. Because of its usability, potent features, and scalability, it is a well-liked option. Installing Elasticsearch, configuring it for your use case, securing your installation, and beginning to work with your Elasticsearch server.
First, check for any pending system upgrade
Let’s update software packages first. To perform updates, run the following command:
apt update
apt dist-upgrade
Install the APT HTTPS Transport package, with the following command,
apt install apt-transport-https
Install from APT Repository
Download and install the public signing key:
Wget -qo - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
To Save the repository definition to
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
Install Elasticsearch
on Ubuntu 22.10
apt install elasticsearch
During the installation, you will be provided with the elastic superuser password. Kindly note it down for future usage.
Update Firewall Settings
Allow port 9200 for Elasticsearch by running the following ufw
command
ufw allow from <yourserver.ip.address> to any port 9200
Enable the firewall service:
ufw enable
Next, view firewall service status:
ufw status
Configuring Elasticsearch
Let us configure Elasticsearch, we will edit its main configuration file elasticsearch.yml
, which contains the majority of its configuration options. This file is located in the directory /etc/elasticsearch
.
Edit the Elasticsearch configuration file with your preferred text editor. We’ll use nano
in this case:
nano /etc/elasticsearch/elasticsearch.yml
Note: Elasticsearch’s configuration file is in
YAML
format, which means that we need to maintain the indentation format. Be sure that you do not add any extra spaces as you edit this file.
Output:
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
Because we specified localhost
, Elasticsearch will listen on all interfaces and bound IPs. If you only want it to listen on one interface, use its IP address
instead of localhost
. Elasticsearch.yml should be saved and closed. If you’re using nano, you can do so by pressing CTRL+X
, then Y
, and finally ENTER
.
These are the bare minimum settings you can use to get started with Elasticsearch. You can now launch Elasticsearch for the first time.
Systemctl
will start the Elasticsearch service. Allow Elasticsearch a few moments to load. Otherwise, you may receive errors indicating that you are unable to
Start the Elasticsearch
service,
systemctl start elasticsearch
Enable the Elasticsearch
service,
systemctl enable elasticsearch
Verify that the Elasticsearch has been installed and running on the server by running the following command:
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200
You will be prompted to enter the password for the
elastic
user. Use the password that was provided to you during the installation from earlier.
Output:
root@vps:~# curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200
Enter host password for user 'elastic':
{
"name" : "vps.server.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "HZcPm0lAQMCcsx94chOPPA",
"version" : {
"number" : "8.5.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "c1310c45fc534583afe2c1c03046491efba2bba2",
"build_date" : "2022-11-09T21:02:20.169855900Z",
"build_snapshot" : false,
"lucene_version" : "9.4.1",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
root@vps:~#
This concludes the Installation and Configure Elasticsearch on Ubuntu 22.10.