Introducere în ElasticSearch
Ce este ElasticSearch:
- ElasticSearch este un motor de căutare open-source construit pe Apache Lucene
- Scris în Java, oferă un API RESTFul simplu și ușor de folosit
- Scalare ușoară pentru a susține procesarea datelor structurate sau nestructurate la nivel de petabyte
Scenarii de aplicare:
- Motor masiv de analiză a datelor
- Motor de căutare on-site
- Ca depozit de date
Adresa documentului:Autentificarea cu hyperlink este vizibilă.
Mediul de implementare:
CentOS 7 x64-bit, Elasticsearch versiunea 6.5.2, JDK 1.8.0.191
1: Instalarea JDK 1.8.0
ElasticSearch este sensibil la versiunea JRE, iar o variantă greșită va face ca ElasticSearch să nu funcționeze.
2: Descarcă și rulează ElasticSearch 6.5.2
Descarcă pagina de adresă:Autentificarea cu hyperlink este vizibilă.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Avertisment VM OpenJDK 64-Bit server: Dacă numărul de procesoare este așteptat să crească de la unu, atunci ar trebui să configurați corespunzător numărul de fire GC paralele folosind -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [AVERTISMENT] [o.e.b.ElasticsearchUnaughtExceptionHandler] [necunoscut] excepție neprinsă în firul [principal]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root la org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] la org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Cauzat de: java.lang.RuntimeException: nu poate rula elasticsearch ca root la org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] la org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Încă 6
Elasticsearch cere să nu poți rula cu root-ul superuser, așa că putem crea un cont casual, iar eu trebuie să folosesc utilizatorul ca es
Dacă nu există nicio eroare, rulează cu succes
Deschide un terminal nou și accesează-l cu curl
În cazul asigurării că portul serverului (9200) este pornit, elasticsearch este pornit (ps -ef | grep elasticsearch) pot fi accesate din browser
[root@VM_0_9_centos local]# curl 'http://localhost:9200/?pretty'
{ "nume" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "version": { "număr" : "6.5.2", "build_flavor" : "implicit", "build_type" : "gudron", "build_hash" : "9434bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : fals, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan": "Știi, pentru căutare"
}
3: Accesează Elasticsearch prin Internet
Editează fișierul de configurare elasticsearch
Găsește network.host: o linie, elimină semnul # și schimbă-l în:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 este adresa IP specificată, care poate conține mai multe adrese IP. Nu a fost testat)
Repornește Elasticsearch, apoi poți accesa interfața http://ip:9200 de pe Internet.
Posibile erori:
Greșeala unu
Zonele maxime de memorie virtuală vm.max_map_count [65530] sunt prea mici, creșteți la cel puțin [262144] Valoarea lui max_map_count se referă la zonele maxime de memorie disponibile pentru un proces, care este folosită la apelarea malloc și este generată de mmap/mprotect.
Soluție alternativă: Mărește dimensiunea numărului de vm.max_hartă:
Greșeala a doua
Descriptorii maximi de fișier [4096] pentru ElasticSearch Process sunt prea scăzuți, creșterea la cel puțin [65536] Soluție
După modificare, conectează-te din nou la utilizatorul ES și folosește următoarea comandă pentru a verifica dacă modificarea are succes
Greșeala 3
Avertisment VM server Java HotSpot(TM) pe 64 de biți: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) a eșuat; error='Nu se poate aloca memoria' (errno=12) Soluție
laA spus AliPosibile probleme pe
filtrele de apeluri de sistem nu s-au instalat; Verifică jurnalele și corectează configurația sau dezactivează filtrele de apeluri de sistem pe propriul risc Soluție: Adaugă următoarea comandă la configurația elasticsearch
|