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.
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).