Linux

Install Elasticsearch On CentOS 7

Install Elasticsearch On CentOS 7
Written by itsubuntu

Insight: Install Elasticsearch On CentOS 7

Elasticsearch is a search engine with a distributed, multitenant-capable full-text search engine. It is based on the Lucene library. It has an HTTP web interface and schema-free JSON documents. It is also a RESTful search and analytics engine capable of solving a growing number of use cases.

Elastisearch Download Link

Let’s go through the process of Elastisearch installation:

At first you need to have a JAVA installed in your CentOS. If you don’t have it installed, run the following command to install OpenJDK in CentOS.

sudo yum install java-1.8.0-openjdk-devel

You can verify it with the following command:

java -version 

Now you have to add the Elasticsearch repository before installing it. At first, Import the GPG key of  repositoryusing the following command:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

and open your text editor and create the following repo file:

sudo nano /etc/yum.repos.d/elasticsearch.repo

and paste the following contents, save the file.

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md 

Now install the Elasticsearch in CentOS:

sudo yum install elasticsearch

To start and enable the elasticsearch in CentOS:

sudo systemctl enable elasticsearch.service

sudo systemctl start elasticsearch.service


Allow remote access to your Elasticsearch server.
Run the following command to allow assess from the remote trusted IP address on port 9200 :

sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=your-remote-ip-address --permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

If you want to allow access from other IP addresses:
sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
sudo firewall-cmd --reload

Allow Elasticsearch to listen for external connections.

Open the elasticsearch.yml configuration file:

sudo nano /etc/elasticsearch/elasticsearch.yml

Search for the line that contains network.host, uncomment it, and change the value to 0.0.0.0:

network.host: 0.0.0.0

Restart the Elasticsearch service:

sudo systemctl restart elasticsearch

We will be glad if you help us to improve our article by notifying us about the errors (if any).





About the author

itsubuntu