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 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
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. 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! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Ausführungsplans, Beispiel für einen Befehl in MySQL
>>: Vue verbessert die Seitenantwortgeschwindigkeit durch Lazy Loading
Inhaltsverzeichnis Vorwort Blasensortierung Grund...
<br />Sehen wir uns nun an, wie Sie die CSS-...
1. Quellcode entwerfen Code kopieren Der Code laut...
/***************** * proc-Dateisystem************...
Inhaltsverzeichnis Lösung 1: Kopieren Sie die Übe...
Inhaltsverzeichnis K8S Master Grundlegende Archit...
Das Definieren des Datenfeldtyps in MySQL ist für...
Während des Entwicklungs- und Debugging-Prozesses...
Nur den oberen Rand anzeigen <table frame=above...
Warum sollten wir das Protokoll lesen? Wenn beisp...
Ein n-stelliger Bestätigungscode, der aus Zahlen,...
Centos7-Switch-Boot-Kernel Hinweis: Bei Bedarf wi...
Beispiel: <html> <Kopf> <style typ...
Vorwort Dieser Artikel beschreibt eine allgemeine...
Inhaltsverzeichnis Hintergrund Erzielen Sie einen...