Kann es mit Docker bereitgestellt werden?
es kann mit Docker bereitgestellt werden; die Bereitstellung von ES-Clustern kann direkt mit „Docker-Compose“ erfolgen. „Docker-Compose“ ist ein Docker-Tool, das zum Definieren und Ausführen komplexer Anwendungen verwendet wird, die normalerweise aus mehreren bestehen Besteht aus Containern, macht die Verwendung von „docker-compose“ die Verwendung von Shell-Skripten zum Starten der Container überflüssig.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Kann es mit Docker bereitgestellt werden?
Die Bereitstellung von es-Clustern kann direkt mit Docker-Compose erfolgen.
Docker Compose ist ein Docker-Tool zum Definieren und Ausführen komplexer Anwendungen. Eine Anwendung, die Docker-Container verwendet, besteht normalerweise aus mehreren Containern. Für die Verwendung von Docker Compose sind keine Shell-Skripte mehr erforderlich, um Container zu starten.
Compose verwaltet mehrere Docker-Container über eine Konfigurationsdatei. In der Konfigurationsdatei werden alle Container nach Diensten definiert. Anschließend wird das Docker-Compose-Skript zum Starten, Stoppen und Neustarten der Anwendung, der Dienste in der Anwendung und aller abhängigen Dienste verwendet Services-Container eignen sich sehr gut für Szenarien, in denen mehrere Container für die Entwicklung kombiniert werden.
Wissen erweitern
Einführung in ES-Cluster
Warum ein Cluster benötigt wird
Die elastische Suche auf einer Maschine wird zwangsläufig mit zwei Problemen bei der Datenspeicherung konfrontiert sein: massive Datenspeicherprobleme und Single-Point-of-Failure-Probleme.
Massives Datenspeicherproblem: Teilen Sie die Indexbibliothek logisch in N Shards (Shards) auf und speichern Sie sie auf mehreren Knoten.
Single Point of Failure-Problem: Sichern Sie Shard-Daten auf verschiedenen Knoten (Replikat)
ES Clusterbezogene Konzepte
Cluster (Cluster): eine Gruppe von Knoten mit einem gemeinsamen Clusternamen.
Node: Eine Elasticsearch-Instanz im Cluster
Shard: Der Index kann zur Speicherung in verschiedene Teile, sogenannte Shards, aufgeteilt werden. In einer Clusterumgebung können verschiedene Shards eines Index in verschiedene Knoten aufgeteilt werden.
Lösen Sie das Problem: zu viele Daten und begrenzter Einzelpunktspeicher.
Hier teilen wir die Daten in 3 Shards auf: Shard0, Shard1, Shard2
Primärer Shard: relativ zur Definition von Replikat-Shards.
Replikat-Shard Jeder primäre Shard kann ein oder mehrere Replikate haben, und die Daten sind dieselben wie der primäre Shard.
Datensicherung kann eine hohe Verfügbarkeit gewährleisten, aber die Sicherung einer Kopie jedes Shards verdoppelt die Anzahl der erforderlichen Knoten und die Kosten sind zu hoch!
Um ein Gleichgewicht zwischen hoher Verfügbarkeit und Kosten zu finden, können wir Folgendes tun:
Zuerst die Daten aufteilen und in verschiedenen Knoten speichern.
Dann jeden Shard sichern und auf dem anderen Knoten ablegen. vollständig Sich gegenseitig sichern
Dadurch kann die Anzahl der erforderlichen Serviceknoten erheblich reduziert werden. Wie in der Abbildung gezeigt, nehmen wir als Beispiel 3 Shards und eine Kopie jedes Shards:
Erstellen Sie einen ES Cluster
Die Bereitstellung eines ES-Clusters kann direkt mit Docker-Compose erfolgen, aber Ihre virtuelle Linux-Maschine muss über mindestens 4 GB Speicherplatz verfügen. Schreiben Sie zunächst eine Docker-Compose-Datei mit dem folgenden Inhalt:
version: '2.2' services: es01: image: elasticsearch:7.12.1 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic es02: image: elasticsearch:7.12.1 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" volumes: - data02:/usr/share/elasticsearch/data ports: - 9201:9200 networks: - elastic es03: image: elasticsearch:7.12.1 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - "ES_JAVA_OPTS=-Xms512m -Xmx512m" volumes: - data03:/usr/share/elasticsearch/data networks: - elastic ports: - 9202:9200 volumes: data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge
Inführung in den Dateiinhalt:
Version: complse Version
es01: Knoten
image: Mirror
Container_Name: Container Name
Environment: Umgebungsvariable
Node.Name: Knotenname
cluster.Name: Cluster name, es erstellt automatisch einen Cluster
discovery: Die Adressen der anderen beiden, die durch Containernamen miteinander verbunden werden können
cluster.initial_master_nodes: Der initialisierte Masterknoten, der an der Wahl teilnehmen kann
"ES_JAVA_OPTS=- Xms512m –
Das obige ist der detaillierte Inhalt vonKann es mit Docker bereitgestellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Fehlerbehebung Schritte für fehlgeschlagene Docker -Bild Build: Überprüfen Sie die Dockerfile -Syntax und die Abhängigkeitsversion. Überprüfen Sie, ob der Build -Kontext den erforderlichen Quellcode und die erforderlichen Abhängigkeiten enthält. Sehen Sie sich das Build -Protokoll für Fehlerdetails an. Verwenden Sie die Option -Target -Option, um eine hierarchische Phase zu erstellen, um Fehlerpunkte zu identifizieren. Verwenden Sie die neueste Version von Docker Engine. Erstellen Sie das Bild mit--t [Bildname]: Debugg-Modus, um das Problem zu debuggen. Überprüfen Sie den Speicherplatz und stellen Sie sicher, dass dies ausreicht. Deaktivieren Sie Selinux, um eine Störung des Build -Prozesses zu verhindern. Fragen Sie Community -Plattformen um Hilfe, stellen Sie Dockerfiles an und erstellen Sie Protokollbeschreibungen für genauere Vorschläge.
