Demonstration des Erstellens von ElasticSearch-Middleware und gemeinsamen Schnittstellen unter CentOS7 im Linux-System

Demonstration des Erstellens von ElasticSearch-Middleware und gemeinsamen Schnittstellen unter CentOS7 im Linux-System

1. Einführung in Middleware

1. Grundlegende Konzepte

ElasticSearch ist ein auf Lucene basierender Suchserver. Es bietet eine verteilte Mehrbenutzer-Volltextsuchmaschine basierend auf einer RESTful-Weboberfläche. Elasticsearch wird in Java entwickelt und als Open Source unter den Bedingungen der Apache-Lizenz veröffentlicht. Es ist eine beliebte Suchmaschine auf Unternehmensebene.

2. Verteilte Datenbank

Verteilte Datenbanksysteme verwenden normalerweise kleinere Computersysteme. Jeder Computer kann an einem separaten Ort aufgestellt werden. Jeder Computer kann eine vollständige Kopie des DBMS oder eine Teilkopie davon haben und verfügt über eine eigene lokale Datenbank. Viele Computer an verschiedenen Standorten sind über ein Netzwerk miteinander verbunden und bilden eine vollständige, globale, logisch zentralisierte und physisch verteilte große Datenbank.

3. Kernrolle

1) Knoten und Cluster

Cluster stellt einen Cluster dar. Es gibt mehrere Knoten im Cluster, einer davon ist der Masterknoten. Dieser Masterknoten kann durch Wahl generiert werden. Die Master- und Slaveknoten befinden sich innerhalb des Clusters. Eines der Konzepte von es ist Dezentralisierung, was wörtlich bedeutet, dass es keinen zentralen Knoten gibt. Dies gilt für die Außenseite des Clusters, denn von außen betrachtet ist der es-Cluster logisch ein Ganzes. Eine einzelne Elastic-Instanz wird als Knoten bezeichnet. Eine Gruppe von Knoten bildet einen Cluster.

2) Scherben

Es steht für Index Sharding. Elasticsearch kann einen kompletten Index in mehrere Shards aufteilen. Der Vorteil dabei ist, dass ein großer Index in mehrere Shards aufgeteilt und auf verschiedene Knoten verteilt werden kann. Bilden Sie eine verteilte Suche. Die Anzahl der Shards kann nur vor der Erstellung des Index angegeben werden und kann nach der Erstellung des Index nicht mehr geändert werden.

3) Dokument
Ein einzelner Datensatz in einem Index wird als Dokument bezeichnet. Viele Dokumente bilden einen Index. Das Dokument wird im JSON-Format dargestellt.

4) Inhaltsverzeichnis

Elastic indiziert alle Felder und wenn Sie nach Daten suchen, können Sie direkt den Index durchsuchen. Der Name jedes Indexes (der als Datenbankname verstanden wird) muss klein geschrieben sein.

5) Typ

Dokumente können praktisch logisch nach „Typ“ gruppiert werden, um Dokumente zu filtern, die als Datenbanktabellenname verstanden werden.

2. Middleware-Installation

1. Installationsumgebung und Version

Centos7
JDK1.8
elasticsearch-6.3.2

2. Herunterladen und entpacken

Der Downloadpfad befindet sich im Ordner des aktuellen Verzeichnisses, oder Sie können den Downloadpfad angeben. wget -P Verzeichnis-URL.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip
[root@localhost roo]# mv elasticsearch-6.3.2.zip /usr/local/mysoft/
[root@localhost mysoft]# entpacken Sie elasticsearch-6.3.2.zip

3. Starten Sie die Software

[root@localhost mysoft]# cd elasticsearch-6.3.2/
[root@localhost elasticsearch-6.3.2]# ./bin/elasticsearch

1) Fehler melden

org.elasticsearch.bootstrap.StartupException: 
java.lang.RuntimeException: Elasticsearch kann nicht als Root ausgeführt werden

Neue Benutzergruppen und Benutzer anlegen

[root@localhost]# Benutzeradd esroot
[root@localhost]# passwd esroot
[root@localhost]# groupadd esgroup
[root@localhost]# usermod -g esgroup esroot

Esroot-Benutzerautorisierung

chown esroot /usr/local/mysoft/elasticsearch-6.3.2 -R

Zum esroot-Benutzer wechseln

[root@localhost mysoft]# su - esroot
[esroot@localhost ~]$ su #Zurück zum Root-Benutzer

2) Fehler 2

max file descriptors [4096] for elasticsearch process ist zu niedrig, 
Erhöhung auf mindestens [65536]

Führen Sie den folgenden Befehl aus, der mit Root-Rechten ausgeführt wird.

[root@localhost roo]# vim /etc/security/limits.conf

Inhalt hinzufügen

*weiches Nofile 65536
* hartes Nofile 65536

Wechseln Sie zurück zum esroot-Benutzer

Neugestartet, keine Fehlermeldung.

4. Öffnen Sie den Befehlszeilentest

locken localhost:9200
[roo@localhost ~]$ curl localhost:9200
{
 "Name" : "YMS44oi",
 "Clustername": "Elasticsearch",
 "cluster_uuid": "2ZXjBnkJSjieV_k1IWMzrQ",
 "version" : {
 "Nummer" : "6.3.2",
 "build_flavor" : "Standard",
 "Build_Type": "ZIP",
 "build_hash" : "053779d",
 "build_date" : "2018-07-20T05:20:23.451332Z",
 "build_snapshot" : falsch,
 "lucene_version" : "7.3.1",
 "minimum_wire_compatibility_version" : "5.6.0",
 "Minimum_Index_Compatibility_Version": "5.0.0"
 },
 "Tagline": "Sie wissen schon, für die Suche"
}

Auf diese Weise wurde die elasticsearch-6.3.2-Umgebung erfolgreich erstellt.

Fordern Sie Port 9200 an, und Elastic gibt ein JSON-Objekt mit Informationen wie dem aktuellen Knoten, Cluster und der Version zurück.
Drücken Sie Strg + C und Elastic wird angehalten.

5. Externen Zugriff konfigurieren

Standardmäßig erlaubt Elastic nur lokalen Zugriff. Wenn Remote-Zugriff erforderlich ist, können Sie die Datei config/elasticsearch.yml im Elastic-Installationsverzeichnis ändern, network.host auskommentieren, den Wert auf 0.0.0.0 ändern und Elastic dann neu starten.

[esroot@localhost-Konfiguration]$ cd /usr/local/mysoft/elasticsearch-6.3.2/config
[esroot@localhost-Konfiguration]$ vim elasticsearch.yml 
Netzwerkhost: 0.0.0.0

6. Installieren Sie den chinesischen Wortsegmentierer von IK

Wechseln Sie zum Root-Benutzer

[root@localhost elasticsearch-6.3.2]$ ./bin/elasticsearch-plugin 
installieren 
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip

3. Erste Schritte

Indexerstellung und -löschung

1. Erstellen Sie einen Index

[esroot@localhost ~]$ curl -X PUT 'localhost:9200/esindex01'
# Daten zurückgeben {
 "bestätigt": wahr,
 "shards_acknowledged": wahr,
 "index": "esindex01"
}

Der Server gibt ein JSON-Objekt zurück und das Feld „acknowledged: true“ zeigt an, dass der Vorgang erfolgreich war.

2. Löschen Sie den Index

[esroot@localhost ~]$ curl -X DELETE 'localhost:9200/esindex01'
{"bestätigt":true}

bestätigt: Ein wahres Feld zeigt an, dass der Vorgang erfolgreich war.

4. Quellcodeadresse

GitHub-Adresse: Cicadasmile https://github.com/cicadasmile
Code Cloud-Adresse: Cicadasmile https://gitee.com/cicadasmile

Zusammenfassen

Das Obige ist eine vom Herausgeber vorgestellte Demonstration zum Erstellen von ElasticSearch-Middleware und gemeinsamen Schnittstellen unter CentOS7 unter Linux-Systemen. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Wissenspunkte der Linux-DMA-Schnittstelle
  • So zeigen Sie verfügbare Netzwerkschnittstellen in Linux an
  • Das Linux-System verwendet Python, um die Netzwerkschnittstelle zu überwachen und Netzwerk-Ein- und -Ausgaben zu erhalten
  • Grundlegende Einführung in die BSD-Socket-Entwicklung unter Linux
  • Grundlegende Einführung in die BSD-Socket-Entwicklung im Linux-Betriebssystem
  • Linux /etc/network/interfaces Konfigurationsschnittstellenmethode

<<:  Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL

>>:  Vue verbessert die Seitenantwortgeschwindigkeit durch Lazy Loading

Artikel empfehlen

Tutorial zur HTML-Tabellenauszeichnung (48): CSS-modifizierte Tabelle

<br />Sehen wir uns nun an, wie Sie die CSS-...

Die Aktualisierung der Seite zur Formularübermittlung springt nicht

1. Quellcode entwerfen Code kopieren Der Code laut...

Hinweise zum Proc-Dateisystem des Linux-Kernel-Gerätetreibers

/***************** * proc-Dateisystem************...

Detaillierte Erläuterung der Kubernetes-Pod-Orchestrierung und des Lebenszyklus

Inhaltsverzeichnis K8S Master Grundlegende Archit...

Drei häufig verwendete MySQL-Datentypen

Das Definieren des Datenfeldtyps in MySQL ist für...

So vergleichen Sie zwei Datenbanktabellenstrukturen in MySQL

Während des Entwicklungs- und Debugging-Prozesses...

So verbergen Sie die Grenze/Trennlinie zwischen Zellen in einer Tabelle

Nur den oberen Rand anzeigen <table frame=above...

Implementierung des Docker View Container Log-Befehls

Warum sollten wir das Protokoll lesen? Wenn beisp...

CentOS 7: Erläuterung zum Wechseln des Boot-Kernels und des Boot-Modus

Centos7-Switch-Boot-Kernel Hinweis: Bei Bedarf wi...

Manuelles Implementieren des Eingabefelds für den js-SMS-Bestätigungscode

Vorwort Dieser Artikel beschreibt eine allgemeine...

js realisiert eine schrittweise zunehmende digitale Animation

Inhaltsverzeichnis Hintergrund Erzielen Sie einen...