So stellen Sie ElasticSearch in Docker bereit

So stellen Sie ElasticSearch in Docker bereit

1. Was ist ElasticSearch?

Elasticsearch wird ebenfalls in Java entwickelt und verwendet Lucene als Kern zur Implementierung aller Indizierungs- und Suchfunktionen. Sein Zweck besteht jedoch darin, die Komplexität von Lucene durch eine einfache RESTful-API zu verbergen und so die Volltextsuche zu vereinfachen.

Elasticsearch ist jedoch mehr als nur Lucene und Volltextsuche. Wir können es auch so beschreiben:

Verteilter Echtzeit-Dateispeicher, jedes Feld ist indiziert

Eine verteilte analytische Suchmaschine in Echtzeit, die durchsucht und indiziert werden kann

Kann auf Hunderte von Servern erweitert werden und strukturierte oder unstrukturierte Daten auf PB-Ebene verarbeiten

2. ElasticSearch mit Docker bereitstellen

2.1 Ziehen Sie das Bild

Docker-Pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.2 Ausführen des Containers

Der Standardport von ElasticSearch ist 9200. Wir ordnen den Port 9200 der Hostumgebung dem Port 9200 Docker Containers zu und können dann auf den ElasticSearch -Dienst im Docker -Container zugreifen. Gleichzeitig benennen wir diesen Container es .

Kopieren Sie den Code wie folgt:
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

2.3 Domänenübergreifende Konfiguration

2.3.1 Betreten des Containers

Da eine Konfiguration erforderlich ist, müssen Sie den Container aufrufen, um die entsprechenden Konfigurationsinformationen zu ändern.

docker exec -it es /bin/bash

2.3.2 Konfiguration

# Datei ls anzeigen
Die Ergebnisse sind wie folgt:
LICENSE.txt README.textile Konfigurationsbibliotheksmodule
NOTICE.txt Bin-Datenprotokoll-Plugins

# Öffnen Sie den Konfigurationsordner cd config

# Datei ls anzeigen
Die Ergebnisse sind wie folgt:
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml Benutzerrollen
elasticsearch.yml jvm.options role_mapping.yml Benutzer

# Ändern Sie die Konfigurationsdatei vi elasticsearch.yml

# Domänenübergreifende Konfiguration hinzufügen http.cors.enabled: true
http.cors.allow-origin: "*"

2.3 Neustart des Containers

Da die Konfiguration geändert wurde, muss der ElasticSearch Container neu gestartet werden.

Docker Neustart es

Die Anzeige sieht wie folgt aus:

3. Docker-Bereitstellung von ElasticSearch-Head

Warum ElasticSearch-Head installieren? Der Grund dafür ist, dass Sie eine Verwaltungsschnittstelle benötigen, um ElasticSearch bezogene Informationen anzuzeigen

3.1 Ziehen Sie das Bild

Docker zieht Mobz/Elasticsearch-Kopf: 5

3.2 Ausführen des Containers

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

Die Anzeige sieht wie folgt aus:




Auf diese Weise haben wir die Verwendung von Docker abgeschlossen, um Elasticsearch-Dienste bereitzustellen, ohne die Hostumgebung zu verschmutzen. Dies hat einen weiteren Vorteil. Wenn Sie mehrere verschiedene Versionen von Elasticsearch oder anderen Diensten gleichzeitig starten möchten, ist Docker auch eine ideale Lösung.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Tutorial zur Installation von Elasticsearch 7.6.2 in Docker
  • Problem „Nicht genügend Speicher“ und Lösung, wenn Docker Elasticsearch startet
  • So installieren Sie Elasticsearch und Kibana in Docker
  • Docker installiert Elasticsearch7.6-Cluster und legt Passwort fest
  • Beispielcode zur Installation von ElasticSearch und Kibana unter Docker
  • Detaillierte Erläuterung der Verwendung der Elasticsearch-Visualisierung Kibana unter Docker
  • So installieren Sie ElasticSearch auf Docker in einem Artikel

<<:  MySQL implementiert eine Funktion ähnlich der MySQL-Methode oder gespeicherten Prozedur connect_by_isleaf

>>:  Kennen Sie die seltsamen Dinge in Javascript?

Artikel empfehlen

Zusammenfassung der grundlegenden Wissenspunkte der Linux-Gruppe

1. Grundlegende Einführung in die Linux-Gruppe Un...

Detaillierte Einführung in den HTML-Head-Tag

Der HTML-Kopfteil enthält viele Tags und Elemente,...

Zusammenfassung der Methoden zum Einfügen von Videos in HTML-Seiten

Wenn Sie nun das Video-Tag auf einer Seite verwen...

Wie stelle ich Tomcat als automatisch gestarteten Dienst ein? Der schnellste Weg

Stellen Sie Tomcat so ein, dass der Dienst automa...

Zusammenfassung der Binlog-Nutzung der MySQL-Datenbank (unbedingt lesen)

Ich werde nicht näher darauf eingehen, wie wichti...

Detaillierte Erklärung der JS-Array-Methoden

Inhaltsverzeichnis 1. Das ursprüngliche Array wir...

Vue implementiert die Anzeige und Ausblendung der dreistufigen Navigation

In diesem Artikelbeispiel wird der spezifische Co...

Node verwendet das Modul async_hooks zur Anforderungsverfolgung

Das Modul async_hooks ist eine experimentelle API...

Ein Beispiel für das elegante Schreiben von Urteilen in JavaScript

Inhaltsverzeichnis Vorwort 1. Monadisches Urteil ...

Implementierung von MySQL Select in der Unterabfrageoptimierung

Die folgende Demonstration basiert auf MySQL Vers...

Implementierungsbeispiel für dynamische Routing-Breadcrumbs für Elemente

Zu meistern: localStorage, Komponentenkapselung Ä...

Details zum Schreiben von React in einem Vue-Projekt

Wir können jsx/tsx-Dateien direkt erstellen Die P...

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...