Úvod do ElasticSearch
Čo je ElasticSearch:
- ElasticSearch je open-source vyhľadávač postavený na Apache Lucene
- Napísaný v Jave, poskytuje jednoduché a ľahko použiteľné RESTFul API
- Jednoduché škálovanie na podporu spracovania štruktúrovaných alebo neštruktúrovaných dát na úrovni petabajtov
Aplikačné scenáre:
- Masívny dátový analytický engine
- Vyhľadávač na stránke
- Ako dátový sklad
Adresa dokumentu:Prihlásenie na hypertextový odkaz je viditeľné.
Prostredie nasadenia:
CentOS 7 x64-bit, Elasticsearch verzia 6.5.2, JDK 1.8.0.191
1: Inštalácia JDK 1.8.0
ElasticSearch je citlivý na verziu JRE a nesprávna verzia spôsobí, že ElasticSearch nebude fungovať.
2: Stiahnuť a spustiť ElasticSearch 6.5.2
Stiahnite si stránku s adresou:Prihlásenie na hypertextový odkaz je viditeľné.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Varovanie VM OpenJDK 64-Bit Server: Ak sa očakáva, že počet procesorov sa zvýši z jedného, mali by ste počet paralelných GC vlákien správne nakonfigurovať pomocou -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [VAROVANIE] [o.e.b.ElasticsearchUncaughtExceptionHandler] [neznámy] uncaught výnimka vo vlákne [hlavné]
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] na 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] Spôsobené: java.lang.RuntimeException: nemožno spustiť elasticsearch ako root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] na org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] na org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Ešte 6
Elasticsearch vyžaduje, aby ste nemohli spustiť superuser root, takže môžeme vytvoriť účet neformálne, a ja musím použiť používateľa ako es
Ak chyba nie je, spustí sa úspešne
Otvorte nový terminál a pristupujte k nemu pomocou Curl
Ak sa uistíte, že server port (9200) je zapnutý, spustí sa elasticsearch (ps -ef | grep elasticsearch) je prístupný v prehliadači
[root@VM_0_9_centos miestny] # curl 'http://localhost:9200/?pretty'
{ "meno": "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "verzia" : { "číslo" : "6.5.2", "build_flavor" : "predvolené", "build_type" : "decht", "build_hash" : "9434 lôžok", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : nepravda, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan": "Vieš, na hľadanie"
}
3: Prístup k Elasticsearch cez internet
Upravte konfiguračný súbor elasticsearch
Nájdite network.host: riadok, odstráňte znak # a zmeňte ho na:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 je špecifikovaná IP adresa, ktorá môže obsahovať viacero IP adries. Netestované)
Reštartuj Elasticsearch a potom môžeš pristupovať k http://ip:9200 rozhraniu na internete.
Možné chyby:
Chyba číslo jedna
Maximálne virtuálne pamäťové oblasti vm.max_map_count [65530] je príliš nízka, zvýšte aspoň na [262144] Hodnota max_map_count označuje maximálne oblasti mapy pamäte dostupné procesu, ktorá sa používa pri volaní malloc a je generovaná pomocou mmap/mprotect.
Obchádzka: Zväčšiť veľkosť vm.max_map_count:
Druhá chyba
Max file descriptors [4096] pre elasticsearch proces je príliš nízky, zvýšte aspoň na [65536] Riešenie
Po úprave sa opäť prihláste do používateľa ES a použite nasledujúci príkaz na overenie, či je úprava úspešná
Chyba 3
Varovanie Java HotSpot(TM) 64-Bit Server VM: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) zlyhal; error='Nemôže alokovať pamäť' (errno=12) Riešenie
pripovedal AliMožné problémy na
systémové filtre hovorov sa nepodarilo nainštalovať; Skontrolujte logy a opravte konfiguráciu alebo vypnite filtre systémových volaní na vlastné riziko Riešenie: Pridajte nasledujúci príkaz do konfigurácie elasticsearch
|