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.