Uvod v ElasticSearch
Kaj je ElasticSearch:
- ElasticSearch je odprtokodni iskalnik, zgrajen na Apache Lucene
- Napisan v Javi, zagotavlja preprost in enostaven RESTFul API
- Enostavno razširitev za podporo petabajtni ravni strukturiranih ali nestrukturiranih podatkov
Scenariji uporabe:
- Masivni podatkovni analitični motor
- Spletni iskalnik
- Kot podatkovno skladišče
Naslov dokumenta:Prijava do hiperpovezave je vidna.
Okolje uvajanja:
CentOS 7 x64-bit, Elasticsearch različica 6.5.2, JDK 1.8.0.191
1: Namestitev JDK 1.8.0
ElasticSearch je občutljiv na različico JRE, napačna različica pa povzroči, da ElasticSearch ne deluje.
2: Prenesi in zaženi ElasticSearch 6.5.2
Prenesite stran z naslovom:Prijava do hiperpovezave je vidna.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64-Bit Server VM opozorilo: Če se pričakuje, da se bo število procesorjev povečalo z enega, potem morate ustrezno konfigurirati število vzporednih GC niti z uporabo -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [OPOZORILO] [o.e.b.ElasticsearchUncaughtExceptionHandler] [neznano] uncaught exception v temi [glavno]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root na org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] na 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] na 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] na og.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Vzrok: java.lang.RuntimeException: Elasticsearch ni mogoče zagnati kot koren na org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] na org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Še 6
Elasticsearch zahteva, da ne moreš zagnati superuser root, zato lahko ustvarimo račun sproščeno, jaz pa moram uporabiti uporabnika kot es
Če ni napake, se uspešno zažene
Odprite nov terminal in dostopajte do njega s pomočjo curla
Če se prepričamo, da je strežniški port (9200) vklopljen, se začne elasticsearch (ps -ef | grep elasticsearch) je dostopen v brskalniku
[root@VM_0_9_centos lokalni] # Curl 'http://localhost:9200/?pretty'
{ "ime": "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "version" : { "številka": "6.5.2", "build_flavor" : "privzeto", "build_type" : "katran", "build_hash" : "9434 postelj", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : laž, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan": "Veš, za iskanje"
}
3: Dostop do Elasticsearch prek interneta
Uredi konfiguracijsko datoteko elasticsearch
Najdi vrstico network.host: odstrani znak # in ga spremeni v:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 je določen IP naslov, ki je lahko več IP naslovov. Ni testirano)
Ponovno zaženi Elasticsearch in nato lahko dostopaš do http://ip:9200 vmesnika na internetu.
Možne napake:
Prva napaka
Maksimalna površina virtualnega pomnilnika vm.max_map_count [65530] je prenizka, povečajte na vsaj [262144] Vrednost max_map_count se nanaša na največje število območij zemljevida pomnilnika, ki so na voljo procesu, kar se uporablja pri klicu malloc in ga generira mmap/mprotect.
Rešitev: Povečajte velikost vm.max_map_count:
Druga napaka
Maksimalni deskriptorji datotek [4096] za proces elastičnega iskanja je prenizek, povečajte na vsaj [65536] Rešitev
Po spremembi se ponovno prijavite v ES uporabnika in uporabite naslednji ukaz, da preverite, ali je sprememba uspešna
Napaka 3
Java HotSpot(TM) 64-bit Server VM opozorilo: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) ni uspel; error='Ne more dodeliti pomnilnika' (errno=12) Rešitev
naje rekel AliMožni problemi na
sistemski filtri klicev niso uspeli namestiti; Preverite dnevnike in popravite svojo konfiguracijo ali oneklopite filtre sistemskih klicev na lastno odgovornost Rešitev: Dodajte naslednji ukaz v konfiguracijo elasticsearch
|