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

Einführung in MySQL-Anweisungskommentare

MySQL unterstützt drei Arten von Kommentaren: 1. ...

So visualisieren Sie skizzierte Diagramme in Vue.js mit RoughViz

einführen Ein Diagramm ist eine grafische Darstel...

Miniprogramm zur Implementierung der Sieve-Lotterie

In diesem Artikelbeispiel wird der spezifische Co...

Vue + OpenLayers Schnellstart-Tutorial

Openlayers ist ein modulares, leistungsstarkes un...

Lösung für Linux CentOS 6.5 ifconfig kann IP nicht abfragen

Kürzlich sagten einige Freunde, dass sie nach der...

Detaillierte Erklärung zur korrekten Verwendung der Zählfunktion in MySQL

1. Beschreibung Wenn wir in MySQL die Gesamtzahl ...

VMware Workstation ist nicht mit Device/Credential Guard kompatibel

Beim Installieren einer virtuellen Maschine wird ...

Optimierung von JavaScript und CSS zur Verbesserung der Website-Leistung

<br /> Im ersten und zweiten Teil haben wir ...

Implementierung der Vue-Anmeldefunktion

Inhaltsverzeichnis Vorne geschrieben Anmeldeübers...

Webdesign-Tutorial (4): Über Materialien und Ausdrücke

<br />Vorheriges Webdesign-Tutorial: Webdesi...

Linux-Datei-/Verzeichnisberechtigungen und Eigentümerverwaltung

1. Übersicht über Dateiberechtigungen und Eigentu...