Installiere und konfiguriere Elasticsearch auf Rocky Linux 8

Elasticsearch ist eine freie und quelloffene Analyse-Engine, die zum Speichern, Suchen und Analysieren großer Datenmengen in Echtzeit verwendet wird. Sie ist in Java geschrieben und basiert auf Apache Lucene. Sie ist bekannt für ihre Geschwindigkeit, Skalierbarkeit und leistungsstarken Funktionen. Du kannst es nutzen, um die Anwendungsperformance, das Logging und die Log-Analyse zu überwachen.

In diesem Tutorial zeigen wir dir, wie du ElasticSearch auf Rocky Linux 8 installierst.

Voraussetzungen

  • Ein Server, auf dem RockyLinux 8 läuft.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Java installieren

ElasticSearch basiert auf Java. Daher muss Java auf deinem Server installiert sein. Du kannst es mit dem folgenden Kommando installieren:

dnf install java-11-openjdk-devel -y

Sobald Java installiert ist, überprüfe die Java-Installation mit dem folgenden Befehl:

java -version

Du solltest die folgende Ausgabe sehen:

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

Install ElasticSearch

Standardmäßig ist ElasticSearch nicht in Rocky Linux 8 enthalten, daher musst du ein ElasticSearch Repo erstellen.

Importiere zuerst den ElasticSearch GPG Schlüssel mit dem folgenden Befehl:

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

Als nächstes erstellst du ein ElasticSearch Repo mit dem folgenden Befehl:

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

Füge die folgenden Zeilen hinzu:

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

Speichere und schließe die Datei und installiere dann das ElasticSearch-Paket mit dem folgenden Befehl:

dnf install elasticsearch -y

Sobald ElasticSearch installiert ist, kannst du mit dem nächsten Schritt fortfahren.

ElasticSearch konfigurieren

Standardmäßig befindet sich die ElasticSearch Hauptkonfigurationsdatei unter /etc/elasticsearch/elasticsearch.yml. Du kannst sie mit dem folgenden Befehl bearbeiten:

nano /etc/elasticsearch/elasticsearch.yml

Definiere den Knotennamen, den Clusternamen, den Datenpfad und den Netzwerkhost wie unten gezeigt:

cluster.name: Elastic Cluster
     node.name: rockylinux
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Speichere und schließe die Datei und starte dann den ElasticSearch-Dienst und aktiviere ihn, damit er beim Neustart des Systems startet:

systemctl start elasticsearch
systemctl enable elasticsearch

Du kannst den Status von ElasticSearch mit dem folgenden Befehl überprüfen:

systemctl status elasticsearch

Du solltest die folgende Ausgabe sehen:

? elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 04:34:34 UTC; 8s ago
     Docs: https://www.elastic.co
 Main PID: 5247 (java)
    Tasks: 62 (limit: 11411)
   Memory: 1.1G
   CGroup: /system.slice/elasticsearch.service
           ??5247 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=1>
           ??5412 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Aug 09 04:33:29 RockyLinux8 systemd[1]: Starting Elasticsearch...
Aug 09 04:34:34 RockyLinux8 systemd[1]: Started Elasticsearch.

Verify ElasticSearch

Zu diesem Zeitpunkt ist ElasticSearch gestartet und lauscht auf Port 9200. Du kannst es mit dem folgenden Kommando überprüfen:

ss -antpl | grep 9200

Du solltest die folgende Ausgabe sehen:

LISTEN 0      128    [::ffff:127.0.0.1]:9200            *:*    users:(("java",pid=5247,fd=283))

Du kannst ElasticSearch auch mit folgendem Kommando verifizieren:

curl -X GET 'http://localhost:9200'

Du solltest die folgende Ausgabe erhalten:

{
  "name" : "rockylinux",
  "cluster_name" : "Elastic Cluster",
  "cluster_uuid" : "NuDPakHARaOJOMyi6ABQwA",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "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"
}

How to Use ElasticSearch

Du kannst den Curl-Befehl verwenden, um Daten zu ElasticSearch hinzuzufügen, wie unten gezeigt:

curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/tutorial/blog/1' -d '{ "message": "My first blog!" }'

Du solltest die folgende Ausgabe sehen:

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Du kannst nun deine Daten mit dem GET-Request abrufen:

curl -X GET 'http://localhost:9200/tutorial/blog/1'

Du solltest die folgende Ausgabe sehen:

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "message": "My first blog!" }}

Um die Daten in menschenlesbarem Format abzurufen, führe den folgenden Befehl aus:

curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'

Du solltest die folgende Ausgabe erhalten:

{
  "_index" : "tutorial",
  "_type" : "blog",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "message" : "My first blog!"
  }
}

Fazit

In der obigen Anleitung hast du gelernt, wie du ElasticSearch auf Rocky Linux 8 installierst und verwendest. Du kannst nun einfach Daten in Elasticsearch hinzufügen, lesen, löschen und aktualisieren.

Das könnte dich auch interessieren …