Einführung in ElasticSearch
Was ist ElasticSearch:
- ElasticSearch ist eine Open-Source-Suchmaschine, die auf Apache Lucene basiert
- In Java geschrieben, bietet es eine einfache und leicht zu bedienende RESTFul-API
- Einfache Skalierung zur Unterstützung der Petabyte-Ebene strukturierter oder unstrukturierter Datenverarbeitung
Anwendungsszenarien:
- Massive Datenanalyse-Engine
- Suchmaschine vor Ort
- Als Data Warehouse
Dokumentadresse:Der Hyperlink-Login ist sichtbar.
Einsatzumgebung:
CentOS 7 x64-Bit, Elasticsearch Version 6.5.2, JDK 1.8.0.191
1: JDK 1.8.0 installieren
ElasticSearch ist empfindlich gegenüber der Version des JRE, und die falsche Version führt dazu, dass ElasticSearch nicht funktioniert.
2: ElasticSearch 6.5.2 herunterladen und ausführen
Laden Sie die Adressseite herunter:Der Hyperlink-Login ist sichtbar.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64-Bit-Server-VM-Warnung: Wenn erwartet wird, dass die Anzahl der Prozessoren von einem ansteigt, sollten Sie die Anzahl der parallelen GC-Threads entsprechend mit -XX konfigurieren: ParallelGCThreads=N [2018-12-11T15:24:27,847] [WARN] [o.e.b.ElasticsearchUncaughtExceptionHandler] [unbekannt] nicht gefangene Ausnahme im Thread [Haupt]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] bei org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Verursacht durch: java.lang.RuntimeException: kann elasticsearch nicht als Root ausführen bei org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] bei org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] bei org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] bei org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... 6 weitere
Elasticsearch verlangt, dass man nicht mit Superuser-Root laufen kann, also können wir locker ein Konto erstellen, und ich muss den Benutzer als es verwenden
Wenn kein Fehler auftritt, läuft es erfolgreich
Öffne ein neues Terminal und greife mit Curl darauf auf
Wenn sichergestellt wird, dass der Serverport (9200) aktiviert ist, wird Elasticsearch gestartet (ps -ef | grep elasticsearch) kann im Browser aufgerufen werden
[root@VM_0_9_centos lokal]# Curl 'http://localhost:9200/?pretty'
{ "name": "iUSRV4T", "cluster_name" : "Elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "Version" : { "Zahl" : "6.5.2", "build_flavor" : "Standard", "build_type" : "tar", "build_hash" : "9434 Bett", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot": falsch, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "Slogan": "Du weißt schon, für Suche"
}
3: Zugang zu Elasticsearch über das Internet
Bearbeiten Sie die Konfigurationsdatei von Elasticsearch
Finde network.host: eine Zeile, entferne das #-Zeichen und ändere es zu:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 ist die angegebene IP-Adresse, die mehrere IP-Adressen haben kann. Nicht getestet)
Starte Elasticsearch neu, dann kannst du auf die http://ip:9200-Oberfläche im Internet zugreifen.
Mögliche Fehler:
Fehler eins
Maximale virtuelle Speicherbereiche vm.max_map_count [65530] ist zu niedrig, erhöht auf mindestens [262144] Der Wert max_map_count bezieht sich auf die maximalen Speicherkartenbereiche, die einem Prozess zur Verfügung stehen, die beim Aufruf von Malloc verwendet werden und von mmap/mprotect generiert werden.
Workaround: Erhöhe die Größe von vm.max_map_count:
Fehler zwei
Die maximalen Dateideskriptoren [4096] für den Elasticsearch-Prozess sind zu niedrig, steigen auf mindestens [65536] Lösung
Nach der Änderung melden Sie sich erneut beim ES-Benutzer an und verwenden Sie den folgenden Befehl, um zu prüfen, ob die Änderung erfolgreich ist
Fehler 3
Java HotSpot(TM) 64-Bit-Server-VM Warnung: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) fehlgeschlagen; error='Speicher kann nicht zugewiesen werden' (errno=12) Lösung
beisagte AliMögliche Probleme auf der
Systemaufruffilter konnten nicht installiert werden; Überprüfen Sie die Protokolle und korrigieren Sie Ihre Konfiguration oder deaktivieren Sie Systemaufruffilter auf eigene Gefahr Lösung: Fügen Sie den folgenden Befehl zur Elasticsearch-Konfiguration hinzu
|