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

So installieren Sie Elasticsearch auf CentOS 7

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, die Anwendungen mit komplexen Suchanforderungen unterstützt, wie z. B. große E-Commerce-Shops und Analyseanwendungen.

Dieses Tutorial erklärt, wie man Elasticsearch auf CentOS 7 installiert.

Voraussetzungen #

Der Benutzer, als der Sie angemeldet sind, muss über sudo-Berechtigungen verfügen, um Pakete installieren zu können.

Installieren von Elasticsearch #

Die empfohlene Methode zur Installation von Elasticsearch auf CentOS 7 ist die Installation des RPM-Pakets aus dem offiziellen Elasticsearch-Repository.

Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von Elasticsearch 6.7 und erfordert Java 8 oder höher.

Geben Sie Folgendes ein, um OpenJDK8 auf Ihrem CentOS-System zu installieren:

sudo yum install java-1.8.0-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 "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

Nachdem Java installiert ist, besteht der nächste Schritt darin, das Elasticsearch-Repository hinzuzufügen.

Importieren Sie den GPG-Schlüssel des Repositorys mit dem folgenden Befehl:

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

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Repo-Datei:

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

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

Wenn Sie eine frühere Version von Elasticsearch installieren möchten, ändern Sie 6.x im obigen Befehl mit der Version, die Sie benötigen.

Sie können jetzt das Elasticsearch-Paket installieren, indem Sie Folgendes eingeben:

sudo yum install elasticsearch

Sobald der Installationsvorgang abgeschlossen ist, starten und aktivieren Sie den Dienst, indem Sie Folgendes ausführen:

sudo systemctl enable elasticsearch.servicesudo systemctl start elasticsearch.service

Sie können überprüfen, ob Elasticsearch ausgeführt wird, indem Sie mit dem folgenden Curl-Befehl eine HTTP-Anforderung an Port 9200 auf localhost senden:

curl -X GET "localhost:9200/"

Die Ausgabe sieht etwa so aus:

{
  "name" : "fLVNqN_",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6zKcQppYREaRH0tyfJ9j7Q",
  "version" : {
    "number" : "6.7.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "8453f77",
    "build_date" : "2019-03-21T15:32:29.844721Z",
    "build_snapshot" : false,
    "lucene_version" : "7.7.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "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.

Um die vom Elasticsearch-Dienst protokollierten Nachrichten anzuzeigen, können Sie den folgenden Befehl verwenden:

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.

Beginnend mit CentOS 7 ersetzt FirewallD iptables als standardmäßiges Firewall-Verwaltungstool.

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, können Sie die IP-Adresse der Schnittstelle angeben, die bewirkt, dass Elasticsearch nur auf der angegebenen Schnittstelle lauscht.

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

sudo systemctl restart elasticsearch

Das ist es. Sie können sich jetzt von Ihrem 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