Tutorial zur Installation von Elasticsearch 7.6.2 in Docker

Tutorial zur Installation von Elasticsearch 7.6.2 in Docker

Docker installieren

Sie müssen Docker installieren, keine weiteren Anweisungen.

Elasticsearch installieren

Hinweis: Die verwendete Version ist 7.6.2, Sie können andere Versionen wählen

Ziehen Sie das Bild

Docker zieht Elasticsearch:7.6.2

Starten des Containers

docker run --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \

-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \

--name='elasticsearch' --cpuset-cpus="1" -m 2G -d elasticsearch:7.6.2

veranschaulichen:

1. -v /opt/hanlp:/opt/hanlp Wenn die Hanlp-Wortsegmentierung verwendet wird, muss die Wortbibliothek gemountet werden

2. ES_JAVA_OPTS kann Parameter festlegen

3. Einzelknotenstart

Zugriffsadresse: http://172.18.63.211:9200

Plugin Installation

Installieren Sie den IK-Tokenizer.

Laden Sie die entsprechende Version herunter: elasticsearch-analysis-ik

Warum IK installieren, Leichtgewicht. Ein konfiguriertes Vokabular kann auch zur Segmentierung chinesischer Wörter verwendet werden. HanLP ist schwergewichtig und verfügt über viele integrierte Algorithmen, sodass es nicht für die Segmentierung einzelner Wörter geeignet ist.

# Offline-Installation, laden Sie das entsprechende Plug-In-ZIP herunter
# https://github.com/medcl/elasticsearch-analysis-ik
docker cp /opt/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/opt
Docker exec -it Elasticsearch Bash
CD-Plugins/
mkdir-Analyse -ik
unzip -d /usr/share/elasticsearch/plugins/analysis-ik/ /opt/elasticsearch-analysis-ik-7.6.2.zip 
Ausfahrt
Docker startet Elasticsearch neu

Benutzerdefiniertes Vokabular

Benutzerdefiniertes Wörterbuch

Remote-Vokabular

Allgemeine Wartungsbefehle

# Alle Indexinformationen anzeigen GET /_cat/indices?pretty
# Knotenüberwachung GET /_cat/health?pretty
# Welche Plugins sind installiert? GET _cat/plugins

Andere Befehle werden bei Verwendung geklärt. In diesem Artikel geht es hauptsächlich um Installation und Bereitstellung.

Monitoring- und Entwicklungstool Kibana

Kibana ist eine Open-Source-Analyse- und Visualisierungsplattform, die für Elasticsearch entwickelt wurde. Mit Kibana können Sie in Elasticsearch-Indizes gespeicherte Daten suchen, anzeigen und mit ihnen interagieren. Sie können problemlos erweiterte Datenanalysen und -visualisierungen durchführen und diese in Form von Symbolen darstellen.

Unsere Server-IP ist 172.18.63.211

docker run --restart=always --link elasticsearch:elasticsearch --name kibana -p 5601:5601 -d kibana:7.6.2

Rufen Sie den Container auf und ändern Sie die Konfigurationsdatei kibana.yml

Docker Exec -it Kibana Bash
vi config/kibana.yml
########################
#Geben Sie die Adresse von elasticsearch.hosts an: ["http://172.18.63.211:9200"]
# Chinesisches i18n.locale: „zh-CN“
# Ändern Sie den optionalen Server.Host für den externen Netzwerkzugriff: „0.0.0.0“
Ausfahrt
########################
Docker startet Kibana neu

Offene Adresse: http://172.18.63.211:5601

Testen Sie das Wortsegmentierungstool

POST _analyse
{
 "text": "Primer zur Erkennung des Sulfonylharnstoff-Herbizid-Resistenzgens BnALS3R in Brassica napus und seine Anwendung",
 "Analysator": "hanlp"
}

Indexbibliothek hinzugefügt

PUT-Erfolg
{
 "Einstellungen": {
 "Anzahl_Scherben": 1,
 "Anzahl_der_Replikate": 1
 }
}

PUT-Erfolg/_Mapping
{
 "Eigenschaften": {
 "Ausweis": {
  "Typ": "Text"
 },
 "Eigentümer": {
  "Typ": "Text"
 },
 "Titel": {
  "Typ": "Text",
  "Analysator": "hanlp"
 },
 "Beschreibung": {
  "Typ": "Text",
  "Analysator": "hanlp"
 },
 "Aktualisierungszeit": {
  "Typ": "Datum"
 }
 }
}

Datensynchronisierung Logstash

Wird zum Sammeln, Analysieren und Konvertieren von Protokollen, Synchronisieren von Daten usw. verwendet.

Installieren

docker pull logstash:7.5.0

Konfigurationsdateiverzeichnis

mkdir -p /usr/local/logstash/config
cd /usr/local/logstash/config
berühren Sie logstash.yml
vi log4j2.properties
#####Fügen Sie den folgenden Inhalt hinzu: logger.elasticsearchoutput.name = logstash.outputs.elasticsearch
logger.elasticsearchoutput.level = debug
#####
vi pipelines.yml
####
- pipeline.id: Logstash-Übereinstimmung
 Pfad.config: "/usr/share/logstash/config/*.conf"
 Pipeline.Arbeiter: 3
####

Gleichzeitig müssen Sie das MySQL-Treiberpaket in die Konfigurationsdatei einfügen.

Erstellen Sie dann eine Konfigurationsdatei

Hier ist ein Beispiel für die regelmäßige Synchronisierung von MySQL-Daten mit es. *

# logstash-mysql-es.conf
Eingang{
 jdbc {
 jdbc_driver_class => "com.mysql.cj.jdbc.Treiber"
 jdbc_connection_string => "jdbc:mysql://172.18.63.211:3306/open_intelligence?characterEncoding=utf8&serverTimezone=Asia/Shanghai"
 jdbc_user => "Docker"
 jdbc_password => "docker@12345"
 jdbc_paging_enabled => wahr
 jdbc_page_size => 10000
 jdbc_fetch_size => 10000
 Verbindungswiederholungsversuche => 3
 Wartezeit für Verbindungswiederholungsversuche => 1
 jdbc_pool_timeout => 5
 use_column_value => wahr
 Tracking-Spalte => "Aktualisierungszeit"
 tracking_column_type => "Zeitstempel"
 record_last_run => wahr
 last_run_metadata_path => "/usr/share/logstash/mysql/goods_achievement"
 Anweisung => "Wählen Sie * aus Warenleistung aus, wobei Aktualisierungszeit > :sql_last_value"
 Zeitplan => "* */30 * * * *"
 }
}

Filter{
 mutieren {
 teilen => { "feature1" => ";" }
 }
 mutieren {
 teilen => { "feature2" => ";" }
 }
 mutieren {
 teilen => { "feature3" => ";" }
 }
}

Ausgabe {
 elastische Suche
 document_id => "%{id}"
 index => "Warenleistung"
 Hosts => ["http://172.18.63.211:9200"]
 }
}

Start-up

docker run -d -p 5044:5044 -p 9600:9600 -it \
-e TZ=Asien/Shanghai \
--name logstash --restart=immer \
-v /usr/local/logstash/config/:/usr/share/logstash/config/ \
-v /usr/local/logstash/mysql/:/usr/share/logstash/mysql/ \
--privilegiert=true \
logstash:7.6.2

Wenn ein Fehler gemeldet wird

Fehler: com.mysql.cj.jdbc.Driver nicht geladen. :jdbc_driver_library ist nicht festgelegt. Sind Sie sicher, dass Sie die richtigen Treiber-Client-Bibliotheken in Ihren Klassenpfad aufgenommen haben?

Sie können versuchen, den Treiber mysql-connector-java-xxxx-bin.jar in das Verzeichnis logstash\logstash-core\lib\jars zu kopieren.

wie:

cd /usr/local/logstash/config

docker cp mysql-connector-java-8.0.17.jar logstash:/usr/share/logstash/logstash-core/lib/jars

Erkennungsprofil

bin/logstash -f /usr/local/logstash/config/mysql-es-patent.conf -t

Fertig, Sie können mit der Entwicklung beginnen.

Das obige Tutorial zur Installation von Elasticsearch 7.6.2 in Docker ist alles, was ich mit Ihnen teilen kann. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Probleme und Lösungen bei der Installation von ElasticSearch und Kibana in Docker
  • So installieren Sie den Elasticsearch7.6-Cluster im Docker und legen ein Kennwort fest
  • So installieren Sie ElasticSearch auf Docker in einem Artikel
  • Implementierung der Docker-Bereitstellung von ElasticSearch und ElasticSearch-Head
  • Erfahren Sie, wie Sie Elasticsearch- und Head-Plugins mit Docker installieren.

<<:  Detaillierte Analyse der MySQL-Sperrblockierung

>>:  Detaillierte Erläuterung der Vue-Übergangseffekte und Anwendungsbeispiele für Animationsübergänge

Artikel empfehlen

Analysieren Sie mehrere gängige Lösungen für MySQL-Ausnahmen

Inhaltsverzeichnis Vorwort 1. Der vom Code konfig...

MySQL-Startfehlerproblem und Szenarioanalyse

1. Komplettlösung 1. Problemanalyse und -lokalisi...

VUE realisiert Registrierungs- und Login-Effekte

In diesem Artikelbeispiel wird der spezifische Co...

Drei JavaScript-Methoden zur Lösung des Joseph-Ring-Problems

Inhaltsverzeichnis Überblick Problembeschreibung ...

So konfigurieren Sie NAS unter Windows Server 2019

Vorwort Dieses Tutorial installiert die neuste Ve...

Fehlerbehebung bei MySQL-Datenverlust

Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...

CSS erzielt den „Bottom Absorption“-Effekt im Footer

Wir stoßen häufig auf dieses Problem: Wie kann ma...

Tutorial zum Herunterladen und Installieren von MySQL 8.0.12 WinX64

MySQL 8.0.12 Download- und Installations-Tutorial...

Tools zum Konvertieren statischer Websites in RSS

<br /> Dieser Artikel wurde von Rachel Golds...

Detaillierte Zusammenfassung von MySQL und verbindungsbezogenen Timeouts

MySQL und verbindungsbezogene Timeouts Vorwort: H...

CSS zur Implementierung von Sprites und Schriftsymbolen

Sprites: In der Vergangenheit war jede Bildressou...

Detaillierte Erklärung der Verwendung des Bash-Befehls

Unter Linux wird Bash als Standard übernommen, wa...