Inleiding tot ElasticSearch
Wat is ElasticSearch:
- ElasticSearch is een open-source zoekmachine gebouwd op Apache Lucene
- Geschreven in Java biedt het een eenvoudige en gebruiksvriendelijke RESTFul API
- Eenvoudige schaalbaarheid om gestructureerde of ongestructureerde dataverwerking op petabyte-niveau te ondersteunen
Toepassingsscenario's:
- Enorme data-analysemotor
- On-site zoekmachine
- Als datawarehouse
Documentadres:De hyperlink-login is zichtbaar.
Implementatieomgeving:
CentOS 7 x64-bit, Elasticsearch versie 6.5.2, JDK 1.8.0.191
1: JDK 1.8.0 installeren
ElasticSearch is gevoelig voor de versie van de JRE, en de verkeerde versie zorgt ervoor dat ElasticSearch niet werkt.
2: Download en start ElasticSearch 6.5.2
Download de adrespagina:De hyperlink-login is zichtbaar.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64-Bit Server VM waarschuwing: Als het aantal processors naar verwachting zal stijgen vanaf één, moet je het aantal parallelle GC-threads passend configureren met -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [WAARSCHUW] [o.e.b.ElasticsearchUncaughtExceptionHandler] [onbekend] niet-gevangen uitzondering in thread [hoofd]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root op org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] op 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] op org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] op org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] op org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Veroorzaakt door: java.lang.RuntimeException: kan elasticsearch niet uitvoeren als root op org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] op org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Nog 6
Elasticsearch vereist dat je niet met superuser root kunt draaien, dus we kunnen casual een account aanmaken, en ik moet de gebruiker als e gebruiken
Als er geen fout is, draait hij succesvol
Open een nieuwe terminal en gebruik deze met curl
In het geval dat wordt gecontroleerd of de serverpoort (9200) aan staat, wordt elasticsearch gestart (ps -ef | grep elasticsearch) kan in de browser worden benaderd
[root@VM_0_9_centos local]# curl 'http://localhost:9200/?pretty'
{ "naam": "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "versie" : { "nummer" : "6.5.2", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "9434 bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : onwaar, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan": "Je weet wel, voor zoeken"
}
3: Toegang tot Elasticsearch via het internet
Bewerk het elasticsearch-configuratiebestand
Zoek network.host: een regel, verwijder het #-teken en verander het in:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 is het opgegeven IP-adres, dat meerdere IP-adressen kan zijn. Niet getest)
Herstart Elasticsearch en dan kun je de http://ip:9200-interface op internet openen.
Mogelijke fouten:
Fout één
maximale virtuele geheugengebieden vm.max_map_count [65530] is te laag, verhoog tot minstens [262144] De waarde van max_map_count verwijst naar de maximale geheugenkaartgebieden die een proces heeft, die wordt gebruikt bij het aanroepen van malloc en wordt gegenereerd door mmap/mprotect.
Oplossing: Vergroot de grootte van vm.max_map_count:
Fout twee
Maximale bestandsbeschrijvingen [4096] voor elasticsearch-proces is te laag, verhoog tot minstens [65536] Oplossing
Na de wijziging log je opnieuw in bij de ES-gebruiker en gebruik je het volgende commando om te controleren of de wijziging succesvol is
Fout 3
Java HotSpot(TM) 64-bit Server VM waarschuwing: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) mislukt; error='Kan geheugen niet toewijzen' (errno=12) Oplossing
opzei AliMogelijke problemen op de
systeemaanroepfilters konden niet worden geïnstalleerd; Controleer de logs en verbeter je configuratie of schakel systeemaanroepfilters uit op eigen risico Oplossing: Voeg het volgende commando toe aan de elasticsearch-configuratie
|