Elasticsearch 8 je výkonný a flexibilní open-source vyhledávací a analytický nástroj známý pro svou škálovatelnost, rychlost a možnosti indexování dat v reálném čase. Verze 8.x přináší významná vylepšení, včetně vylepšených funkcí zabezpečení s jednoduchou správou certifikátů, rozšířené možnosti textového vyhledávání a efektivnější provádění dotazů. Zavádí také nativní podporu pro runtime pole, což usnadňuje přizpůsobení způsobu indexování a vyhledávání dat beze změny základního schématu. Tato vylepšení činí z Elasticsearch 8.xa robustní řešení pro správu a analýzu velkých objemů dat.
Chcete-li nainstalovat Elasticsearch 8 na Debian 12, 11 nebo 10, můžete použít oficiální úložiště APT poskytované společností Elasticsearch. Tato příručka vás provede kroky k nastavení Elasticsearch a zajistí vám přístup k nejnovějším funkcím a vylepšením.
Aktualizujte Debian před instalací Elasticsearch
V prvním kroku se musíte ujistit, že váš systém Debian Linux je aktualizován. Tento krok aktualizuje veškerý stávající software na nejnovější verze a připraví váš systém na instalaci.
Pro aktualizaci systému Debian spusťte následující příkaz:
sudo apt update && sudo apt upgrade
Instalace nezbytných balíčků
Před instalací Elasticsearch 8 na Debian musíme splnit specifické předpoklady. To zahrnuje instalaci několika požadovaných balíčků, jako je software-properties-common, apt-transport-https a curl. Tyto balíčky usnadňují správu softwaru a přenos dat po síti.
Nainstalujte potřebné balíčky spuštěním následujícího:
sudo apt install software-properties-common apt-transport-https curl -y
Přidejte Elasticsearch 8 APT Repository na Debian
Dále do našeho systému Debian Linux přidáme repozitář Elasticsearch APT. Nejprve naimportujeme klíč GPG pro Elasticsearch, který zajistí pravost softwaru, který instalujete. Spusťte následující příkaz pro import klíče GPG:
curl -fSsL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | sudo tee /usr/share/keyrings/elasticsearch-8.gpg > /dev/null
Dále importujme úložiště Elasticsearch. To nám umožní nainstalovat Elasticsearch přímo pomocí apt
správce balíčků:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-8.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch-8.list
Aktualizace mezipaměti indexu APT
Po přidání úložiště Elasticsearch do našeho systému musíme aktualizovat index balíčků APT. To zajišťuje, že APT ví o nových balíčcích z nově přidaného úložiště. Chcete-li aktualizovat index APT, spusťte následující příkaz:
sudo apt update
Nainstalujte Elasticsearch 8 pomocí příkazu APT
Nyní, když je náš systém připraven a index APT je aktualizován, můžeme nainstalovat Elasticsearch 8. K instalaci Elasticsearch použijte následující příkaz:
sudo apt install elasticsearch
Poznámka: Pokud existují dvě položky pro stejné úložiště Elasticsearch, během aktualizace apt dojde k chybě. Pokud narazíte na chybu 'Duplicitní záznam sources.list', zkontrolujte v /etc/apt/sources.list.d/elasticsearch-8.x.list duplicitní záznam nebo vyhledejte duplicitní záznam mezi soubory v /etc/ apt/sources.list.d/ a soubor /etc/apt/sources.list.
Po instalaci povolte Elasticsearch v Debianu
Po instalaci je služba Elasticsearch při spouštění zakázána a ve výchozím nastavení neaktivní. Chcete-li povolit službu Elasticsearch a nastavit ji tak, aby se automaticky spouštěla při spuštění, použijte následující systemctl
příkaz:
sudo systemctl enable elasticsearch.service --now
Konfigurace Elasticsearch 8
Další fází správy Elasticsearch 8 na vašem systému Debian Linux je jeho konfigurace.
Seznámení s výchozím nastavením elastického vyhledávání
Při nové instalaci Elasticsearch software umístí svá zpracovaná a uložená data do adresáře /var/lib/elasticsearch. Pokud potřebujete úpravy konfigurace, přejděte do adresáře /etc/elasticsearch. Pokud možnosti spouštění Javy potřebují vyladit, lze tato nastavení upravit v konfiguračním souboru /etc/default/elasticsearch.
Tato standardní nastavení se hodí pro samostatné servery, kde Elasticsearch funguje výhradně na localhost. Pokud jsou však vaše cíle nastaveny na vytvoření clusteru Elasticsearch nebo povolení vzdálených připojení, jsou nutné úpravy výchozí konfigurace.
Upřesnění konfiguračního souboru Elasticsearch
Konfigurační soubor Elasticsearch obsahuje mnoho parametrů, které lze upravit tak, aby vyhovovaly vašim jedinečným potřebám. Chcete-li tento soubor otevřít, spusťte následující příkaz:
sudo nano /etc/elasticsearch/elasticsearch.yml
Důležitým parametrem je cluster.name, který určuje název clusteru, ke kterému váš uzel patří. Ve výchozím nastavení je to „elasticsearch“, ale v produkčním prostředí je vhodné použít výraznější název.
Zde je příklad:
cluster.name: my_application
Volba node.name je další významnou volbou, která nastavuje název uzlu Elasticsearch. Tento název je nezbytný pro bezproblémovou správu a správu, zejména při práci s více uzly.
Zde je příklad:
node.name: node-1
Nakonfigurujte Elasticsearch 8 s HTTPS na Debianu
Následující část popisuje konfiguraci HTTPS pro vaši instalaci Elasticsearch. Šifrování je nezbytné pro zabezpečení dat a povolení Elasticsearch 8 používat HTTPS zajišťuje bezpečný přenos dat mezi uzly a klienty.
Generování SSL certifikátů
Prvním krokem při konfiguraci Elasticsearch pro HTTPS je vygenerování certifikátu SSL. Tento certifikát je to, co bude šifrovat data mezi vaším serverem a klienty. Elasticsearch má vestavěný nástroj elasticsearch-certutil, který můžete použít ke generování certifikátu s vlastním podpisem. Spusťte následující příkaz:
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --silent --pem -out config/elastic-certificates.p12
Tím se v adresáři config vytvoří soubor .p12. Tento soubor obsahuje soukromý klíč i veřejný certifikát. Tento soubor je nezbytné chránit a zajistit, aby nebyl přístupný neoprávněným uživatelům.
Aktualizujte konfiguraci Elasticsearch 8
Dále musíte aktualizovat konfigurační soubor Elasticsearch umístěný na /etc/elasticsearch/elasticsearch.yml, aby obsahoval cesty k vašemu certifikátu a soukromému klíči. Otevřete konfigurační soubor a přidejte následující řádky:
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
Tato nastavení povolují SSL pro transportní vrstvu, určují, že používáme certifikáty pro ověřování SSL, a definují cesty k certifikátu a soukromému klíči.
Povolení vzdáleného přístupu (volitelné)
Elasticsearch je ve výchozím nastavení nakonfigurováno tak, aby naslouchalo pouze localhost. To však lze upravit v případech, kdy je vyžadován vzdálený přístup. Vyhledejte sekci Síť a odkomentujte řádek network.host odstraněním znaku # v popředí. Nahraďte stávající hodnotu svou interní privátní IP adresou nebo externí IP adresou.
Zde je příklad:
# network.host: 192.168.0.1
V tomto příkladu byl u network.host odkomentován a upraven na interní privátní IP adresu.
Z bezpečnostních důvodů je vhodné zadat jednotlivé IP adresy. Můžete však změnit síťové rozhraní tak, aby naslouchalo všem, a to nastavením na 0.0.0.0 pro více interních nebo externích IP adres připojujících se k serveru.
Po provedení nezbytných změn uložte konfigurační soubor (CTRL+O pro uložení, CTRL+X pro ukončení).
Chcete-li vynutit změny konfiguračního souboru, restartujte službu Elasticsearch pomocí příkazu:
sudo systemctl restart elasticsearch
Úprava pravidel brány firewall UFW pro vzdálená připojení
Pokud jste nakonfigurovali Elasticsearch tak, aby umožňovala vzdálená připojení, je nezbytné upravit pravidla brány firewall tak, aby tato připojení vyhovovala. S tím může pomoci nekomplikovaný firewall (UFW).
Můžete povolit připojení konkrétní IP adresy k Elasticsearch provedením tohoto příkazu:
sudo ufw allow from <IP Address> to any port 9200
Nezapomeňte vyměnit se skutečnou IP adresou, ze které chcete povolit připojení. Tento příkaz otevře port 9200 pro zadanou IP adresu a umožní mu interakci s Elasticsearch.
Pokud například chcete povolit připojení IP adresy 192.168.0.2, příkaz by byl:
sudo ufw allow from 192.168.0.2 to any port 9200
Poté váš server Debian povolí provoz z 192.168.0.2 pro přístup k Elasticsearch přes port 9200. Pamatujte, že bezpečnost vašich serverů je prvořadá, takže se ujistěte, že udělujete přístup pouze důvěryhodným IP adresám.
Ověření konfigurace Elasticsearch 8
Po úpravě vaší konfigurace Elasticsearch je důležité ověřit, že změny byly implementovány správně a že vaše instance Elasticsearch funguje podle očekávání.
Kontrola stavu služby Elasticsearch 8
Nejprve zkontrolujte stav své služby Elasticsearch, abyste se ujistili, že je aktivní a běží. Můžete to udělat pomocí následujícího příkazu:
sudo systemctl status elasticsearch
Tento příkaz vypíše informace o službě Elasticsearch, včetně toho, zda je aktivní a běží. Pokud ne, možná budete muset problém vyřešit nebo zkontrolovat změny konfigurace.
Testování vzdáleného přístupu (volitelné)
Pokud jste povolili vzdálený přístup, můžete jej otestovat pokusem o připojení k instanci Elasticsearch ze vzdáleného počítače. Jak bylo uvedeno v předchozí části, IP adresa, ze které se připojujete, musí být povolena v pravidlech brány firewall.
K tomuto účelu můžete použít příkaz curl:
curl https://<Your_Elasticsearch_IP>:9200
Nahradit s IP adresou vašeho serveru Elasticsearch. Pokud je tento příkaz úspěšný, měl by vrátit informace o vaší instanci Elasticsearch.
Ověřování integrity dat
Nakonec je nezbytné ověřit integritu vašich dat Elasticsearch, zvláště pokud jste ve své konfiguraci provedli změny v datovém adresáři. Elasticsearch poskytuje rozhraní API, která můžete použít ke kontrole stavu vašich dat.
Chcete-li například získat stav všech indexů, použijte následující příkaz:
curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty"
Tento příkaz uvádí všechny indexy ve vaší instanci Elasticsearch a jejich zdravotní stav. Zkontrolujte zdravotní stav svých indexů, abyste se ujistili, že jsou vaše data v bezpečí a dostupná.
Poznámka: Pamatujte, že zachování integrity a bezpečnosti vašich dat by mělo být vždy nejvyšší prioritou. Vždy dvakrát zkontrolujte své změny, ověřte konfiguraci a pravidelně sledujte svou instanci Elasticsearch. To vám pomůže udržovat spolehlivý, efektivní a bezpečný systém správy dat s Elasticsearch.
Interakce s Elasticsearch 8 přes cURL
Tato část prozkoumá běžné příkazy, které komunikují s vaší instancí Elasticsearch 8. Použijeme curl
nástroj příkazového řádku, flexibilní knihovna pro přenos dat pomocí různých protokolů.
Odstranění indexu
Index Elasticsearch je sada dokumentů, které mají podobné vlastnosti. Pokud máte index s názvem sample, který chcete odstranit, můžete to provést pomocí následujícího příkazu:
curl -X DELETE 'https://localhost:9200/samples'
Tento příkaz odešle požadavek HTTP DELETE na zadanou adresu URL, která řekne Elasticsearch, aby odstranil index vzorků.
Výpis všech indexů
Chcete-li načíst seznam všech indexů ve vaší instanci Elasticsearch, použijte koncový bod _cat/indices s požadavkem GET, jako je tento:
curl -X GET 'https://localhost:9200/_cat/indices?v'
V odpovědi budou uvedeny všechny indexy, včetně stavu indexu, stavu, velikosti a počtu dokumentů.
Načítání dokumentů z rejstříku
Chcete-li načíst všechny dokumenty z určitého indexu, řekněme sample, použijte koncový bod _search:
curl -X GET 'https://localhost:9200/sample/_search'
Tento příkaz načte všechny dokumenty uložené ve vzorovém indexu.
Vyhledávání pomocí parametrů URL
Pro základní textové vyhledávání můžete použít syntaxi dotazu Lucene. Pokud byste například chtěli najít dokumenty, kde je školní pole Harvard, použili byste:
curl -X GET https://localhost:9200/samples/_search?q=school:Harvard
Tento příkaz odešle požadavek GET do koncového bodu _search pomocí parametru q pro dotaz.
Vyhledávání pomocí Elasticsearch Query DSL
Pro složitější dotazy můžete raději použít dotaz DSL od Elasticsearch, který vám umožňuje používat JSON k definování dotazů. Tento formát je čitelnější a přístupnější pro ladění složitých dotazů.
Zde je příklad:
curl -XGET --header 'Content-Type: application/json' https://localhost:9200/samples/_search -d '{
"query" : {
"match" : { "school": "Harvard" }
}
}'
Tento příkaz dělá totéž jako předchozí, ale pro definici dotazu používá JSON. Tímto způsobem je příkaz čitelnější, zejména při řešení složitějších dotazů.
Přidávání a aktualizace dokumentů
Chcete-li přidat nový dokument do indexu, můžete použít metodu PUT spolu s koncovým bodem _doc. Například pro přidání dokumentu s ID 1 a školním oborem Harvard do indexu vzorků byste použili:
curl -XPUT --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1 -d '{
"school" : "Harvard"
}'
Chcete-li dokument aktualizovat, můžete použít metodu POST s koncovým bodem _update. Například pro přidání pole studentů do dokumentu, který jsme právě vytvořili, byste použili:
curl -XPOST --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1/_update -d '{
"doc" : {
"students": 50000}
}'
Tento příkaz říká Elasticsearch, aby aktualizoval dokument s ID 1 v indexu vzorků a přidal pole studentů s hodnotou 50 000.
Tyto příkazy jsou pouze malou ukázkou toho, co můžete pomocí Elasticsearch dosáhnout. Elasticsearch dotaz DSL
Spravujte Elasticsearch 8 na Debianu 12, 11 nebo 10
Tento segment se ponoří do procesu odstranění Elasticsearch 8 z vašeho serveru Debian Linux. Možná to budete chtít udělat z několika důvodů, například že software již nevyhovuje vašim požadavkům nebo plánujete přejít na alternativní řešení. Bez ohledu na vaše důvody vás níže uvedené kroky provedou celým procesem.
Odstranění Elasticsearch 8 z Debianu
Vymazání Elasticsearch z vašeho serveru zahrnuje jednoduchý příkaz. Pamatujte však, že tato akce je nevratná a smaže všechna související data. Zde je příkaz k provedení:
sudo apt remove elasticsearch
Spuštěním výše uvedeného příkazu efektivně odinstalujete Elasticsearch a uvolníte všechny dříve přidělené systémové prostředky.
Odebrat Elasticsearch APT Repository
Po odinstalaci zůstane úložiště Elasticsearch ve vašem systému. Pokud jste si jisti, že Elasticsearch v budoucnu znovu nenainstalujete, můžete se ho také zbavit, abyste předešli zbytečnému nepořádku.
Zde je návod, jak odstranit úložiště Elasticsearch:
sudo rm /etc/apt/sources.list.d/elasticsearch-8.list
Výše uvedený příkaz odstraní úložiště Elasticsearch 8 z vašeho serveru Debian Linux.
Obnovení seznamu úložišť
Posledním krokem je obnovení seznamu balíčků apt. Tento krok je nezbytný k zajištění toho, aby váš systém nezvažoval Elasticsearch 8 pro budoucí aktualizace nebo instalace.
Příkaz k aktualizaci seznamu úložišť je následující:
sudo apt update
Závěr
S úspěšně nainstalovaným Elasticsearch 8 na vašem systému Debian můžete využít jeho pokročilé možnosti vyhledávání a analýzy k efektivní správě a analýze vašich dat. Pravidelně aktualizujte Elasticsearch, abyste mohli využívat nejnovější funkce a vylepšení zabezpečení. Užijte si výkonné funkce Elasticsearch 8.x, přizpůsobené tak, aby splňovaly požadavky moderní správy dat a analýzy.