← Zpět na všechny články blogu

Proč a jak nainstalovat Elasticsearch?

Karel Dytrych
David Janík 2. 3. 2021 - 6 min. čtení
Blog

Proč a jak nainstalovat Elasticsearch?

Elasticsearch je distribuovaný vyhledávací a analytický nástroj, který centrálně ukládá vaše data, takže můžete vyhledávat, indexovat a analyzovat data všech tvarů a velikostí.

Elasticsearch pomůže s rychlejším vyhledáváním, nad kterým máte kontrolu a vidíte, jaká data, stránky nebo produkty se hledají nejvíce. Díky tomu určíte, na co byste se měli soustředit a optimalizovat.

Ať už hledáte akce z konkrétní IP adresy, analyzujete prudký nárůst požadavků na transakce nebo hledáte pizzu v okruhu dvou kilometrů, tak tyto problémy se dají vyřešit datům. Elasticsearch vám umožní snadno ukládat, vyhledávat a analyzovat data v jakémkoliv měřítku.

VPS Centrum

Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.

Na co můžete Elasticsearch použít?

  • Monitoring logů – Od systému, MySQL až po Apache
  • Monitoring infrastruktury – Servery, Docker, Kubernetes, Aplikace
  • APM – Hlídejte výkonnost vaší aplikace
  • Uptime – Monitoring real-time dostupnost vašich systémů
  • Site Search – Jednoduše vytvořte pokročilé vyhledávání na vaší stránce
  • App Search – Vyhledávejte napříč dokumenty, geo, daty a i přímo ve vaší aplikaci
  • Maps – Vyhledávejte lokace v datech real-time
  • SIEM – Interaktivní vyhledávání a automatické vyhledávání bezpečnostních hrozeb
  • Endpoint Security – Zabraňte a vyhledávejte bezpečností hrozby 

Elasticsearch je opravdu rychlý

Když dostanete odpovědi okamžitě, váš vztah s daty se změní. Můžete si dovolit iterovat a pokrýt více půdy.Iterace v matematice znamená proces opakovaného použití funkce s cílem přiblížení se, dosáhnutí cíle či výsledku. Každé opakování procesu je taktéž nazváno iterací a výsledky z jedné iterace se použijí jako vstup pro další iteraci.

Implementovali převrácené indexy s převaděči konečných stavů pro fulltextové dotazování, KDB stromy pro ukládání číselných a geografických dat a implementovali uložiště sloupců pro jednoduchou a rychlou analýzu dat.

Indexace je postup, při kterém jsou dokumenty uloženy do invertovaného indexu. Díky tomu jsou uspořádány důležité termíny v základním tvaru, seřazeny podle abecedy. To pomůže s rychlejším vyhledáváním, protože se nemusí prohledávat celý dokument, ale pouze ty opravdu důležité věci. Ty si můžete definovat, řadit podle vašich potřeb atd.

V IT je KDB-strom označován, jako datová struktura pro dělení vyhledávacího prostoru. Jeho cílem je poskytnout efektivitu vyhledávání a zároveň poskytnout blokově orientované úložiště pro optimalizaci přístupů do externí paměti. To je užitečné pro úkoly, jako je vyhledávání rozsahů a vícerozměrné databázové dotazy.

Pro detailnější popis v češtině doporučujeme seriál o Elasticsearchu od Luďka Veselého.

Kolik Elasticsearch stojí?

Elasticsearch je open source, takže je zdarma. Můžete s ním vyvíjet svou aplikaci aniž byste museli něco platit. Celý kód je ve veřejném repozitáři.

Samozřejmě vývoj něco stojí, a tak nabízí enterprise řešení, které využívá např. Netflix, Uber, Slack nebo i Microsoft. Mají nové funkce ve formě Machine learningu, mezi clusterové replikace, snapsshoty atd.

Freelo - Nástroj na řízení úkolů a projektů

Přidej se, pozvi svůj tým a klienty, rozděl práci a sleduj, jak se úkoly dají do pohybu.

Elasticsearch můžete využívat i v jejich cloudu, kde cena začíná na 16 USD / měsíc a následně stačí Elastic propojit se svou aplikací. Záleží, co potřebujete, ale většina webů i aplikaci si vystačí s Free verzi, kterou si teď ukážeme.

Jak nainstalovat Elasticsearch na Debian?

Budeme k tomu využívat naše virtuální servery s VPS Centrem, které běží na systému Debian a stejně provedete instalaci i na Ubuntu.

Nejdříve si stáhneme balíček JDK (Java Development Kit)

aptitude install default-jdk

Ujistěte se, že na serveru máte dostatek místa. (500 MB+, příkaz df -h )

Stáhneme si GPG klíč a vložíme repozitář k ES.

wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add –

sh -c ‚echo „deb https://artifacts.elastic.co/packages/7.x/apt stable main“ > /etc/apt/sources.list.d/elastic-7.x.list‘

Aktualizujeme repozitáře v Debianu a můžeme přejít k instalaci pomocí příkazů:

aptitude update

aptitude install elasticsearch

A teď už stačí Elasticsearch aktivovat pomocí příkazu:

systemctl enable elasticsearch.service –now

Teď zkontrolujeme, jestli všechno v pořádku běží. Defaultně ES naslouchá na portu 9200.

curl -X GET „localhost:9200/“

Měli byste vidět takovýto výstup. Verze, server, apod.

Měli byste vidět takovýto výstup. Verze, server, apod.

Co se týče bezpečnosti, tak pokud máte Elasticsearch jen lokálně, a když VPS s nikým nesdílíte, můžete instalaci takhle nechat. Pokud potřebujete větší bezpečnost, tak se musí nainstalovat a nakonfigurovat “xpack”. Ten bohužel způsobuje i řadu problémů. Tak je to pouze na vás, pro jakou variantu se rozhodnete.

Konfigurační soubory

Elasticsearch má 3 konfigurační soubory:

  • /etc/elasticsearch/elasticsearch.yml – pro konfiguraci ES
  • /etc/elasticsearch/jvm.options – pro nastavení JVM (Java Virtual Machine)
  • /etc/elasticsearch/log4j2.properties – pro konfiguraci logování ES

Nejvíce se bude hodit elasticsearch.yml, kde můžete změnit port, cesty k datům a logům, nastavit síť a bránu a samozřejmě změnit název clusteru pokud bude potřeba.

Jak nainstalovat konkrétní verzi Elasticsearche?

Ještě si ukážeme, jak instalovat konkrétní verzi Elasticsearche např. 7.4.0.

Nejjednoduší způsob, je stáhnout požadovanou verzi balíčku.

My chceme Elasticsearch 7.4.0, takže jsme na SSH provedli příkaz:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-amd64.deb.sha512

Ověříme, jestli SHA klíče sedí

shasum -a 512 -c elasticsearch-7.4.0-amd64.deb.sha512 
elasticsearch-{version}-amd64.deb: OK ### Měli bychom dostat takovýto výstup

Poté balíček nainstalujeme, spustíme ES a zkontrolujeme, jestli běží.

dpkg -i elasticsearch-7.4.0-amd64.deb

systemctl start elasticsearch.service

systemctl status elasticsearch.service

Můžeme ještě ověřit verzi a chod ES pomocí příkazu

curl -X GET "localhost:9200/"

A je hotovo.

Poslední trik, který se může hodit, tak je pozastavení automatických aktualizací. Už jsme několikrát řešili, že po aktualizaci nefunguje. Aktualizace pozastavíte těmito příkazy:

aptitude hold elasticsearch

apt-mark hold elasticsearch

Posobota – Přednáška o Elasticsearch

Samozřejmě instalací to teprve začíná. Pro lepší představu, jak můžete ES využívat a nakonfigurovat doporučujeme záznam z klasické pre-covid Posoboty.

Kibana + Elasticsearch

Pro snazší práci s Elasticem je dobré nainstalovat další aplikaci – Kibana. Ta práci znatelně usnadní. Kibana je grafické rozhraní, které se umí propojit a dokáže nám ukázat data v přívětivější podobě. Dokáže lépe vyhledávat v uložených datech, vytvářet vizualizace grafů a tabulek a vytvoření komplexních dashboardů.

Díky Kibaně získáte

  • Přehlednou analýzu logů
  • Monitoring infrastruktury
  • APM – Application Performance Monitoring
  • Přehled bezpečnostních akcí
  • Business analytics

To na jednu monitorovací aplikaci ujde. V dalším článku, se dozvíte, jak ji správně nainstalovat na naše servery s VPS Centrem.

Zůstaňte s námi v kontaktu

Jednou za měsíc posíláme souhrn novinek. Nemusíte se bát, spam neposíláme a odhlásit se můžete kdykoliv...

Karel Dytrych
Tým Váš Hosting
Vyzkoušejte náš trial na týden zdarma

Garance 14denní záruky vrácení peněz

Vyzkoušejte server na týden zdarma

Vyzkoušet server