GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Elasticsearch unter Debian 10

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 erklärt, wie man Elasticsearch unter Debian 10 installiert.

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 apt install default-jdk

Ü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.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)

Installieren von Elasticsearch #

Elasticsearch ist in den standardmäßigen Debian 10-Repositories nicht verfügbar. Wir installieren es aus dem Elasticsearch APT-Repository.

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

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 betrachtet werden.

Fügen Sie 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'
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.

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

sudo apt updatesudo apt 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" : "debian10.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "yCOOHdvYR8mHRs5mNXQdDQ",
  "version" : {
    "number" : "7.6.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
    "build_date" : "2020-02-29T00:15:25.529771Z",
    "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

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

Elasticsearch konfigurieren #

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

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.

Wenn Sie beispielsweise UFWand verwenden, möchten Sie nur Verbindungen von 192.168.121.80 zulassen , geben Sie den folgenden Befehl ein:

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

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.


Debian
  1. So installieren Sie Debian 10 (Buster)

  2. So installieren Sie Elasticsearch unter Debian Linux

  3. So installieren Sie Python 3.9 unter Debian 10

  4. So installieren Sie Memcached unter Debian 10

  5. So installieren Sie TeamViewer unter Debian 10

So installieren Sie Debian 11

So installieren Sie Elasticsearch auf Debian 11 Bullseye

So installieren Sie Graylog unter Debian 9

So installieren Sie Go unter Debian 10

So installieren Sie Elasticsearch unter Debian 11

So installieren Sie Go unter Debian