Android

Wie installiere ich elasticsearch auf Debian 9?

Nextcloud vs. ownCloud - die TOP 8 Unterschiede! Cloud Lösungen im Vergleich

Nextcloud vs. ownCloud - die TOP 8 Unterschiede! Cloud Lösungen im Vergleich

Inhaltsverzeichnis:

Anonim

Elasticsearch ist eine Open Source verteilte Volltextsuch- und Analyse-Engine. Es unterstützt RESTful-Vorgänge und ermöglicht das Speichern, Durchsuchen und Analysieren großer Datenmengen in Echtzeit.

Elasticsearch ist eine der beliebtesten Suchmaschinen für Anwendungen mit komplexen Suchanforderungen, z. B. große E-Commerce-Stores und Analyseanwendungen.

Dieses Tutorial führt Sie durch den Prozess der Installation von Elasticsearch unter Debian 9.

Voraussetzungen

Sie müssen als Benutzer mit sudo-Berechtigungen angemeldet sein, um Pakete auf Ihrem Debian-Server installieren zu können.

Elasticsearch installieren

Der einfachste Weg, Elasticsearch unter Debian zu installieren, ist über das offizielle Elasticsearch-Repository. Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version von Elasticsearch 7.0.0 und erfordert die Installation von Java 8 auf dem System.

Aktualisieren Sie zunächst den Paketindex und installieren Sie das Paket apt-transport-https , das für den Zugriff auf ein Repository über HTTPS erforderlich ist:

sudo apt update sudo apt install apt-transport-https

Installieren Sie OpenJDK 8:

sudo apt install openjdk-8-jdk

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

java -version

Die Ausgabe sollte ungefähr so ​​aussehen:

openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

Im nächsten Schritt fügen Sie das Elasticsearch-Repository hinzu.

Importieren Sie den öffentlichen Schlüssel des Repositorys mit dem folgenden Befehl wget :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Der obige Befehl sollte OK ausgeben, was bedeutet, dass der Schlüssel erfolgreich importiert wurde und Pakete aus diesem Repository als vertrauenswürdig eingestuft werden.

Fügen Sie als Nächstes das Elasticsearch-Repository zum System hinzu, indem Sie Folgendes ausführen:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' Wenn Sie eine andere Version von Elasticsearch installieren möchten, ändern Sie 7.x im obigen Befehl auf die gewünschte Version.

Aktualisieren Sie den Paketindex und installieren Sie die Elasticsearch-Engine:

sudo apt update sudo apt install elasticsearch

Starten und aktivieren Sie den Dienst nach Abschluss des Installationsvorgangs mit den folgenden Befehlen:

sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service

Um zu überprüfen, ob Elasticsearch ausgeführt wird, senden Sie eine HTTP-Anfrage an Port 9200 auf localhost. Verwenden Sie dazu den folgenden Befehl curl:

curl -X GET "localhost:9200/"

Die Ausgabe sollte ungefähr so ​​aussehen:

{ "name": "stretch", "cluster_name": "elasticsearch", "cluster_uuid": "Nj2W3PswRuWvJW8JG75O1Q", "version": { "number": "7.0.0", "build_flavor": "default", "build_type": "deb", "build_hash": "b7e28a7", "build_date": "2019-04-05T22:55:32.697037Z", "build_snapshot": false, "lucene_version": "8.0.0", "minimum_wire_compatibility_version": "6.7.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 sich die Verbindung 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

Das ist es. Elasticsearch wurde auf Ihrem Debian-Server installiert.

Elasticsearch konfigurieren

Elasticsearch-Daten werden im Verzeichnis /var/lib/elasticsearch gespeichert. Konfigurationsdateien befinden sich in /etc/elasticsearch und Java-Startoptionen können in der Datei /etc/default/elasticsearch konfiguriert werden.

Standardmäßig ist Elasticsearch so konfiguriert, dass nur localhost überwacht wird. Wenn der Client, der eine Verbindung zur Datenbank herstellt, auch auf demselben Host ausgeführt wird und Sie einen einzelnen Knotencluster einrichten, müssen Sie den Remotezugriff nicht aktivieren.

Fernzugriff

Standardmäßig implementiert Elasticsearch keine Authentifizierung, sodass jeder, der auf die HTTP-API zugreifen kann, darauf zugreifen kann. Wenn Sie den Remotezugriff 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.

sudo ufw allow from 192.168.100.20 to any port 9200 Vergessen Sie nicht, 192.168.100.20 mit Ihrer Remote-IP-Adresse zu ändern.

Andernfalls, wenn Sie einfache alte iptables verwenden, führen Sie Folgendes aus:

sudo iptables -A INPUT -p tcp -s 192.168.100.20 --dport 9200 -j ACCEPT

Sobald Ihre Firewall konfiguriert ist, müssen Sie im nächsten Schritt die Konfiguration bearbeiten und Elasticsearch so einstellen, dass es auf externe Verbindungen wartet.

Öffnen Sie dazu die Konfigurationsdatei elasticsearch.yml:

sudo nano /etc/elasticsearch/elasticsearch.yml

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

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

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

sudo systemctl restart elasticsearch

Zu diesem Zeitpunkt sollten Sie in der Lage sein, von Ihrem Remote-Standort aus eine Verbindung zum Elasticsearch-Server herzustellen.

Fazit

Sie haben Elasticsearch erfolgreich auf Ihrem Debian 9-System installiert. Weitere Informationen zu den ersten Schritten mit Elasticsearch finden Sie auf der offiziellen Dokumentationsseite.

Java Elasticsearch Datenbank Debian