Úvod
Elasticsearch je platforma používaná pro fulltextové vyhledávání v reálném čase v aplikacích, kde je potřeba analyzovat velké množství dat. V kombinaci s dalšími nástroji, jako je Kibana, Logstash, X-Pack atd., dokáže Elasticsearch agregovat a monitorovat velká data v masivním měřítku.
S jeho podporou RESTful API , můžete svá data snadno spravovat pomocí běžné metody HTTP. Díky své rychlosti a snadnému použití se stal také vhodným pro složitější úkoly, které Hadoop a Spark zvládnou.
V tomto tutoriálu vám ukážeme, jak vše připravit a jak nainstalovat Elasticsearch na Ubuntu 18.04 . Instalační kroky by měly fungovat i pro ostatní distribuce Linuxu.
Předpoklady
- Systém založený na Ubuntu (tato příručka používá Ubuntu 18.04)
- Přístup k terminálu nebo příkazovému řádku
- Uživatel s oprávněním sudo k instalaci balíčků
Instalace nezbytných závislostí
Vzhledem k tomu, že Elasticsearch běží nad Javou, je třeba nainstalovat Java Development Kit (JDK) .
Můžete zkontrolovat, zda je Java nainstalovaná a verzi na vašem počítači Ubuntu pomocí:
java -version
Výstup zobrazuje nainstalovanou verzi Java.
Pokud nemáte nainstalovanou Javu, zobrazí se standardní bash zpráva:bash:/usr/bin/java:Žádný takový soubor nebo adresář . Pamatujte, že předem máte možnost použít příkaz bash ke kontrole, zda soubor nebo adresář existuje.
Než budete pokračovat v instalaci, aktualizujte index balíčku:
sudo apt update
Chcete-li nainstalovat výchozí sadu JDK, spusťte následující příkaz:
sudo apt install openjdk-8-jdk
Po dokončení procesu spusťte java -version
příkaz znovu. Výstup ukazuje v našem případě následující verzi:
Chcete-li povolit přístup ke svým úložištím přes HTTPS, musíte nainstalovat transportní balíček APT:
sudo apt install apt-transport-https
Výstup výše ukazuje závěrečnou část po dokončení procesu.
Nainstalujte a stáhněte si Elasticsearch na Ubuntu
Po potvrzení Java a apt-transport-https
úspěšně nainstalován, pokračujte podle kroků k instalaci Elasticsearch.
Přidat úložiště Elasticsearch
Nejprve aktualizujte klíč GPG pro úložiště Elasticsearch.
Použijte wget
příkaz k vytažení veřejného klíče:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Na výstupu by se mělo zobrazit OK
kdyby všechno šlo, jak má.
Dále použijte tento příkaz k přidání úložiště do vašeho systému.
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Ve výše uvedeném příkazu jsme použili 7.x protože toto je nejnovější verze Elasticsearch v době psaní této příručky.
Nainstalujte Elasticsearch
Konečně je čas nainstalovat Elasticsearch.
Než budete pokračovat, aktualizujte index balíčku ještě jednou.
sudo apt update
Poté spusťte instalaci:
sudo apt install elasticsearch
Balíček má cca 300 MB. Nechte systém stáhnout archiv a dokončit instalaci.
Spusťte službu Elasticsearch
Jakmile je instalace dokončena, Elasticsearch se nespustí, dokud ji nespustíte. Když restartujete počítač, musíte také znovu spustit službu Elasticsearch, protože se nespouští automaticky.
Chcete-li, aby se Elasticsearch automaticky znovu načetl při restartu systému, použijte následující příkazy:
Nejprve znovu načtěte konfiguraci systemd:
sudo systemctl daemon-reload
Poté povolte službu Elasticsearch pomocí:
sudo systemctl enable elasticsearch.service
A nakonec, až bude služba povolena, spusťte Elasticsearch:
sudo systemctl start elasticsearch.service
Nechte proces dokončit. Může to chvíli trvat. Z terminálu nebude žádná konkrétní odpověď.
Nyní se Elasticsearch spustí pokaždé, když zapnete nebo restartujete systém.
Pokud provedete změny v konfiguračních souborech nebo potřebujete z jakéhokoli důvodu restartovat Elasticsearch, použijte:
sudo systemctl restart elasticsearch.service
Pokud potřebujete službu zastavit, použijte následující příkaz:
sudo systemctl stop elasticsearch.service
Zkontrolujte stav Elasticsearch
Jakmile dokončíte používání příkazů ke spuštění, restartu a zastavení Elasticsearch, můžete také zkontrolovat stav služby.
Chcete-li tak učinit, zadejte:
service elasticsearch status
Výstup zobrazuje stav služby, úkoly a další informace.
Konfigurace elastického vyhledávání
Elasticsearch je předkonfigurován pro základní použití. Pokud v nastavení používáte pouze jeden uzel, nemusíte nástroj příliš překonfigurovat.
Chcete-li provést změny výchozí konfigurace Elasticsearch , upravte soubor elasticsearch.yml soubor. Soubor se nachází v /etc/elasticsearch adresář.
Konfigurace pro protokolování je umístěn v /var/log/elasticsearch/logging.yml soubor. Pro protokolování můžete prozatím ponechat výchozí nastavení a v případě potřeby se k němu vrátit později.
Povolit vzdálený přístup
Výchozí konfigurace neumožňuje přístup k vašemu počítači jiným hostitelům. Chcete-li povolit vzdálený přístup, použijte textový editor podle svého výběru a otevřete soubor elasticsearch.yml soubor.
Použijeme vim :
sudo vim /etc/elasticsearch/elasticsearch.yml
Přejděte dolů na Síť sekce. Najděte řádek, který říká #network.host
.
Odkomentujte řádek (odstraňte znak libry (#), nastavte IP adresu na 0.0.0.0
a přidejte tyto řádky:
transport.host: localhost
transport.tcp.port: 9300
http.port: 9200
Sekce by měla vypadat takto:
Ukončete a uložte změny. Pokud pracujete ve vim , zadejte :wq
.
Tato konfigurace umožňuje vzdáleným hostitelům přístup k tomuto počítači.
Použijte UFW k zabezpečení Elasticsearch (volitelné)
Pokud povolíte vzdálený přístup k Elasticsearch, pak důrazně doporučujeme používat nástroj UFW jako minimální bezpečnostní opatření.
Uncomplicated Firewall (UFW) je zabudován do Linuxu a ve výchozím nastavení je zakázán. Povolte UFW a vytvořte několik pravidel pro omezení vystavení vaší sítě.
Před povolením UFW přidejte nezbytná pravidla. Pro vzdálený přístup přes SSH musíte povolit přístup na portu 22 (nebo na vlastním portu, pokud jste změnili výchozí konfiguraci SSH).
V terminálu zadejte:
sudo ufw allow 22
Poté musíte povolit přístup na portu 9200 pro váš vzdálený stroj. Elasticsearch na tomto portu naslouchá příchozím požadavkům.
Vytvořte pravidlo pomocí tohoto příkazu:
sudo ufw allow from external_IP to any port 9200
Změňte external_IP
s IP vzdáleného počítače, který bude použit pro přístup k Elasticsearch.
Nakonec povolte nástroj UFW:
sudo ufw enable
Zde je příklad výstupu pro výše uvedené příkazy:
Abyste se ujistili, že jste pravidla přidali správně, zkontrolujte stav UFW.
sudo ufw status
Tento příkaz zobrazuje stav i podrobnosti pravidel, která jste vytvořili.
Test Elasticsearch
Nyní, když je služba Elasticsearch aktivní, stroj je přístupný vzdáleně a povolili jste UFW, můžete použít curl
otestovat, zda nástroj funguje.
Výchozí naslouchací port pro Elasticsearch je 9200 . Můžete tedy odeslat požadavek HTTP na localhost a zjistit, zda dostanete odpověď.
Chcete-li tak učinit, zadejte:
curl localhost:9200
Výstup by měl vypadat podobně jako výše. Uvidíte informace o verzi a další pole s datem, hashem atd.