Úvod do ElasticSearch
Co je ElasticSearch:
- ElasticSearch je open-source vyhledávač postavený na Apache Lucene
- Napsán v Javě, poskytuje jednoduché a snadno použitelné RESTFul API
- Snadné škálování pro podporu strukturovaného nebo nestrukturovaného zpracování dat na úrovni petabajtů
Scénáře aplikace:
- Masivní datový analytický engine
- Vyhledávač na webu
- Jako datový sklad
Adresa dokumentu:Přihlášení k hypertextovému odkazu je viditelné.
Prostředí nasazení:
CentOS 7 x64-bit, Elasticsearch verze 6.5.2, JDK 1.8.0.191
1: Instalace JDK 1.8.0
ElasticSearch je citlivý na verzi JRE a špatná verze způsobí, že ElasticSearch nebude fungovat.
2: Stáhnout a spustit ElasticSearch 6.5.2
Stáhněte si stránku s adresou:Přihlášení k hypertextovému odkazu je viditelné.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Varování VM OpenJDK 64-Bit Server: Pokud se očekává zvýšení počtu procesorů z jednoho procesoru, měli byste počet paralelních GC vláken správně nakonfigurovat pomocí -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [VAROVÁNÍ] [o.e.b.ElasticsearchUncaughtExceptionHandler] [neznámý] uncaught exception in thread [main]
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] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] na org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Způsobeno: java.lang.RuntimeException: nelze spustit elasticsearch jako kořen na 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] na org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Ještě 6
Elasticsearch vyžaduje, abyste nemohli spouštět s rootem superuživatele, takže můžeme účet vytvořit neformálně, a musím použít uživatele jako es
Pokud chyba není, spustí se úspěšně
Otevřete nový terminál a přistupujte k němu pomocí curlu
V případě ověření, že je server port (9200) zapnutý, spustí se elasticsearch (ps -ef | grep elasticsearch) lze přistupovat v prohlížeči
[root@VM_0_9_centos místní] # curl 'http://localhost:9200/?pretty'
{ "jméno" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "verze" : { "číslo": "6.5.2", "build_flavor" : "výchozí", "build_type" : "dehet", "build_hash" : "9434 lůžka", "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": "Víš, pro hledání"
}
3: Přístup k Elasticsearch přes internet
Upravit konfigurační soubor elasticsearch
Najděte network.host: řádek, odstraňte znak # a změňte ho na:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 je specifikovaná IP adresa, která může být více IP adres. Netestováno)
Restartujte Elasticsearch a pak můžete přistupovat k http://ip:9200 rozhraní na internetu.
Možné chyby:
Chyba číslo jedna
Maximální počet virtuálních paměťových oblastí vm.max_map_count [65530] je příliš nízký, zvyšte se alespoň na [262144] Hodnota max_map_count označuje maximální množství paměťových mapových oblastí dostupných procesu, což se používá při volání malloc a je generováno mmap/mprotect.
Řešení: Zvětšit velikost vm.max_map_count:
Chyba číslo dvě
Maximální počet souborových deskriptorů [4096] pro proces elasticsearch je příliš nízký, zvyšte se alespoň na [65536] Řešení
Po úpravě se znovu přihlaste do uživatele ES a použijte následující příkaz k ověření, zda je úprava úspěšná
Chyba 3
Varování Java HotSpot(TM) 64-Bit Server VM: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) selhal; error='Nelze alokovat paměť' (errno=12) Řešení
uřekl AliMožné problémy na
systémové filtry volání se nenainstalovaly; Zkontrolujte logy a opravte konfiguraci, nebo vypněte filtry systémových hovorů na vlastní riziko Řešení: Přidejte následující příkaz do konfigurace elasticsearch
|