Introduktion til ElasticSearch
Hvad er ElasticSearch:
- ElasticSearch er en open source-søgemaskine bygget på Apache Lucene
- Skrevet i Java tilbyder det et simpelt og brugervenligt RESTFul API
- Let skalering for at understøtte petabyte-niveau struktureret eller ustruktureret databehandling
Anvendelsesscenarier:
- Massiv dataanalysemotor
- Søgemaskine på stedet
- Som et datalager
Dokumentadresse:Hyperlink-login er synlig.
Implementeringsmiljø:
CentOS 7 x64-bit, Elasticsearch version 6.5.2, JDK 1.8.0.191
1: Installer JDK 1.8.0
ElasticSearch er følsom over for JRE-versionen, og den forkerte version vil få ElasticSearch til ikke at virke.
2: Download og kør ElasticSearch 6.5.2
Download adressesiden:Hyperlink-login er synlig.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64-bit Server VM advarsel: Hvis antallet af processorer forventes at stige fra én, bør du konfigurere antallet af parallelle GC-tråde passende ved hjælp af -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [ADVARSEL] [o.e.b.ElasticsearchUncaughtExceptionHandler] [ukendt] ufanget undtagelse i tråd [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root på org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] på 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] på org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] på org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] på org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] på org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Forårsaget af: java.lang. RuntimeException: kan ikke køre elasticsearch som root på org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] på org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] på org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] på org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... 6 mere
Elasticsearch kræver, at man ikke kan køre med superuser root, så vi kan oprette en konto uformelt, og jeg skal bruge brugeren som es
Hvis der ikke er nogen fejl, kører den succesfuldt
Åbn en ny terminal og få adgang til den med curl
Når man sikrer, at serverporten (9200) er tændt, startes elasticsearch (ps -ef | grep elasticsearch) kan tilgås i browseren
[root@VM_0_9_centos lokal]# curl 'http://localhost:9200/?pretty'
{ "navn" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "version" : { "tal" : "6.5.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "9434 seng", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : falsk, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline": "Du ved, til søgning"
}
3: Få adgang til Elasticsearch over internettet
Rediger elasticsearch-konfigurationsfilen
Find network.host: en linje, fjern #-tegnet, og ændr det til:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 er den angivne IP-adresse, som kan være flere IP-adresser. Ikke testet)
Genstart Elasticsearch, og så kan du få adgang til http://ip:9200-grænsefladen på internettet.
Mulige fejl:
Fejl et
Maksimum virtuelle hukommelsesområder vm.max_map_count [65530] er for lavt, øg til mindst [262144] Værdien af max_map_count refererer til de maksimale hukommelseskortområder tilgængelige for en proces, som bruges, når malloc kaldes, og genereres af mmap/mprotect.
Workaround: Øg størrelsen på vm.max_map_count:
Fejl to
Maksimum filbeskrivelser [4096] for elasticsearch-processen er for lav, øges til mindst [65536] Opløsning
Efter modifikationen logger du ind på ES-brugeren igen og bruger følgende kommando for at kontrollere, om ændringen er succesfuld.
Fejl 3
Java HotSpot(TM) 64-bit Server VM advarsel: INFO: os:commit_memory(0x0000000085330000, 2060255232, 0) fejlede; error='Kan ikke allokere hukommelse' (errno=12) Opløsning
vedAli sagdeMulige problemer på
systemkaldsfiltre kunne ikke installeres; Tjek loggene og ret din konfiguration eller deaktiver systemkaldsfiltre på eget ansvar Løsning: Tilføj følgende kommando til elasticsearch-konfigurationen
|