GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Elasticsearch auf CentOS 8

Elasticsearch ist eine verteilte Open-Source-Volltextsuch- und Analyse-Engine. Es unterstützt RESTful-Operationen und ermöglicht Ihnen das Speichern, Suchen und Analysieren großer Datenmengen in Echtzeit. Elasticsearch ist eine der beliebtesten Suchmaschinen für Anwendungen mit komplexen Suchanforderungen, wie große E-Commerce-Shops und Analyseanwendungen.

Dieses Tutorial behandelt die Installation von Elasticsearch auf CentOS 8.

Installieren von Java #

Elasticsearch ist eine Java-Anwendung, daher ist der erste Schritt die Installation von Java.

Führen Sie den folgenden Befehl als Root oder Benutzer mit sudo-Berechtigungen aus, um das OpenJDK-Paket zu installieren:

sudo dnf install java-11-openjdk-devel

Überprüfen Sie die Java-Installation, indem Sie die Java-Version drucken:

java -version

Die Ausgabe sollte in etwa so aussehen:

openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

Installieren von Elasticsearch #

Elasticsearch ist in den Standard-Repositories von CentOS 8 nicht verfügbar. Wir installieren es aus dem Elasticsearch RPM-Repository.

Importieren Sie das GPG des Repositorys mit rpm Befehl:

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

Öffnen Sie Ihren Texteditor und erstellen Sie die Repository-Datei /etc/yum.repos.d Verzeichnis:

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

Fügen Sie den folgenden Inhalt in die Datei ein:

/etc/yum.repos.d/elasticsearch.repo
[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

Speichern Sie die Datei und schließen Sie Ihren Texteditor.

Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von Elasticsearch 7.6 . Wenn Sie eine frühere Version von Elasticsearch installieren möchten, ändern Sie 7.x im obigen Befehl mit der Version, die Sie benötigen.

Nachdem das Repository aktiviert ist, installieren Sie das Elasticsearch-Paket, indem Sie Folgendes eingeben:

sudo dnf install elasticsearch

Sobald der Installationsvorgang abgeschlossen ist, starten und aktivieren Sie den Dienst:

sudo systemctl enable elasticsearch.service --now

Verwenden Sie curl, um zu überprüfen, ob Elasticsearch ausgeführt wird um eine HTTP-Anfrage an Port 9200 auf localhost zu senden:

curl -X GET "localhost:9200/"

Die Ausgabe sieht in etwa so aus:

{
  "name" : "centos8.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "V_mfjn2PRJqX3PlZb_VD7w",
  "version" : {
    "number" : "7.6.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
    "build_date" : "2020-02-06T00:09:00.449973Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Es kann 5-10 Sekunden dauern, bis der Dienst gestartet wird. Wenn Sie curl: (7) Failed to connect to localhost port 9200: Connection refused , warten Sie einige Sekunden und versuchen Sie es erneut.

Verwenden Sie den folgenden Befehl, um die vom Elasticsearch-Dienst protokollierten Nachrichten anzuzeigen:

sudo journalctl -u elasticsearch

Zu diesem Zeitpunkt haben Sie Elasticsearch auf Ihrem CentOS-Server installiert.

Elasticsearch konfigurieren #

Elasticsearch-Daten werden in /var/lib/elasticsearch gespeichert Verzeichnis, Konfigurationsdateien befinden sich in /etc/elasticsearch .

Standardmäßig ist Elasticsearch so konfiguriert, dass es nur auf localhost lauscht. Wenn der Client, der sich mit der Datenbank verbindet, auch auf demselben Host ausgeführt wird und Sie einen Einzelknoten-Cluster einrichten, müssen Sie die Standardkonfigurationsdatei nicht ändern.

Fernzugriff #

Standardmäßig implementiert Elasticsearch keine Authentifizierung, sodass jeder darauf zugreifen kann, der auf die HTTP-API zugreifen kann. Wenn Sie den Fernzugriff auf Ihren Elasticsearch-Server zulassen möchten, müssen Sie Ihre Firewall konfigurieren und den Zugriff auf den Elasticsearch-Port 9200 nur von vertrauenswürdigen Clients zulassen.

Zum Beispiel, um nur Verbindungen von 192.168.121.80 zuzulassen , geben Sie den folgenden Befehl ein:

Führen Sie den folgenden Befehl aus, um die Bewertung von der vertrauenswürdigen Remote-IP-Adresse auf Port 9200 zuzulassen :

sudo firewall-cmd --new-zone=elasticsearch --permanentsudo firewall-cmd --reloadsudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanentsudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanentsudo firewall-cmd --reload
Vergessen Sie nicht, 192.168.121.80 zu ändern mit Ihrer entfernten IP-Adresse.

Wenn Sie später den Zugriff von einer anderen IP-Adresse zulassen möchten, verwenden Sie:

sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanentsudo firewall-cmd --reload

Sobald die Firewall konfiguriert ist, besteht der nächste Schritt darin, die Elasticsearch-Konfiguration zu bearbeiten und Elasticsearch zu erlauben, auf externe Verbindungen zu lauschen.

Öffnen Sie dazu die elasticsearch.yml Konfigurationsdatei:

sudo nano /etc/elasticsearch/elasticsearch.yml

Suchen Sie nach der Zeile, die network.host enthält , kommentieren Sie es aus und ändern Sie den Wert in 0.0.0.0 :

/etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0

Wenn Sie mehrere Netzwerkschnittstellen auf Ihrem Computer haben, geben Sie die IP-Adresse der Schnittstelle an, um Elasticsearch zu zwingen, nur auf die angegebene Schnittstelle zu hören.

Starten Sie den Elasticsearch-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart elasticsearch

Das ist es. Sie können sich jetzt vom Remote-Standort aus mit dem Elasticsearch-Server verbinden.


Cent OS
  1. So installieren Sie PHP 7, 7.2 und 7.3 auf CentOS 7

  2. So installieren Sie Java 11 und 12 unter CentOS 7

  3. So installieren Sie Graylog2 unter CentOS 7 / RHEL 7

  4. So installieren Sie Elasticsearch unter CentOS 8 / RHEL 8

  5. So installieren Sie Elasticsearch auf CentOS/RHEL 8

So installieren Sie R unter CentOS 8

So installieren Sie Graylog mit Elasticsearch unter CentOS 8

So installieren Sie Graylog unter CentOS 8 / RHEL 8

So installieren Sie Graylog 3.0 unter CentOS 7 / RHEL 7

So installieren Sie Graylog unter CentOS 7

So installieren Sie den ELK-Stack unter CentOS 7