Elasticsearch
External
Internal
Overview
ElasticSearch is an open source, object store and a distributed search and analytics engine. It comes with a developer-friendly query language covering structured, unstructured and time-series data. By default, ElasticSearch uses TCP port 9300.
Installation
For pre-7 versions, Java must be installed as a prerequisite and JAVA_HOME
set in the root
's environment in /etc/profile.d/java.sh
. See:
For 7 and newer, Java is embedded.
Corretto 11 seems to be working with with Elasticsearch 6.8.x.
Download the latest RPM from https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html → Install Electric Search with RPM → https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.20.rpm
sudo rpm --install elasticsearch-6.8.20.rpm
Set up Java home in /etc/sysconfig/elasticsearch
:
JAVA_HOME=/opt/java
Also, correlate the amount of RAM available with -Xmx (Maybe the installation script does it automatically?).
Enable start at boot. As root:
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch
systemctl status elasticsearch
Reboot and smoke test:
curl http://localhost:9200/
{
"name" : "pkb.local",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "37KaoJd3Q6qyBJSU0-7eQw",
"version" : {
"number" : "7.15.2",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "93d5a7f6192e8a1a12e154a2b81bf6fa7309da0c",
"build_date" : "2021-11-04T14:04:42.515624022Z",
"build_snapshot" : false,
"lucene_version" : "8.9.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Configuration
/etc/elasticsearch/elasticsearch.yml
Operations
Layout
$ES_HOME
: /usr/share/elasticsearch
State: /var/lib/elasticsearch
Start/Stop
systemctl stop elasticsearch.service
systemctl start elasticsearch.service
Logs
/var/log/elasticsearch/
Queries
Indices
curl http://localhost:9200/_cat/indices?v
curl http://localhost:9200/_cat/aliases?h=a
Interact with an Index
curl http://localhost:9200/<index-name>/ curl http://localhost:9200/<index-name>/_count