Elasticsearch je open source distribuovaný analytický nástroj postavený na Apache Lucene. Přebírá nestrukturovaná data z různých míst a ukládá je podle uživatelem zadaného mapování a indexuje je. Podporuje operace RESTful a umožňuje vyhledávat a analyzovat obrovské objemy dat v reálném čase.
V tomto tutoriálu vám ukážeme, jak nainstalovat Elasticsearch na Ubuntu 20.04.
Předpoklady
- Server se serverem Ubuntu 20.04.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Než začnete, budete muset aktualizovat svůj systém na nejnovější verzi. Můžete jej aktualizovat pomocí následujícího příkazu:
apt-get update -y
Jakmile je váš systém aktualizován, nainstalujte další požadované balíčky pomocí následujícího příkazu:
apt-get install curl gnupg2 apt-transport-https unzip -y
Jakmile jsou všechny balíčky nainstalovány, můžete přejít k dalšímu kroku.
Instalovat Elasticsearch
Ve výchozím nastavení není balíček Elasticsearch dostupný ve výchozím úložišti Ubuntu. Budete tedy muset do svého systému přidat úložiště Elasticsearch. Nejprve importujte klíč GPG pomocí následujícího příkazu:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Dále přidejte úložiště Elasticsearch pomocí následujícího příkazu:
sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Jakmile je úložiště přidáno, aktualizujte mezipaměť úložiště a nainstalujte Elasticsearch pomocí následujícího příkazu:
apt-get update -y
apt-get install elasticsearch -y
Po dokončení instalace spusťte službu Elasticsearch a povolte její spuštění při restartu systému:
systemctl start elasticsearch
systemctl enable elasticsearch
Nyní můžete ověřit stav služby Elasticsearch pomocí následujícího příkazu:
systemctl status elasticsearch
Měli byste získat následující výstup:
? elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2021-01-09 11:13:09 UTC; 5s ago Docs: https://www.elastic.co Main PID: 5110 (java) Tasks: 65 (limit: 2353) Memory: 1.2G CGroup: /system.slice/elasticsearch.service ??5110 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl> ??5304 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller Jan 09 11:12:50 ubuntu2004 systemd[1]: Starting Elasticsearch... Jan 09 11:13:09 ubuntu2004 systemd[1]: Started Elasticsearch.
Ověřte Elasticsearch
Elasticsearch standardně naslouchá na portu 9200. Můžete to ověřit pomocí následujícího příkazu:
ss -antpl | grep 9200
Měli byste získat následující výstup:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=5110,fd=257)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=5110,fd=255))
Elasticsearch můžete také ověřit pomocí příkazu níže:
curl -X GET "localhost:9200/"
Měli byste obdržet následující odpověď:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "mToloP2UQGilY7nUCeBnjg", "version" : { "number" : "7.10.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa", "build_date" : "2020-12-05T01:00:33.671820Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Konfigurace elastického vyhledávání
Hlavní konfigurační soubor Elasticsearch se nachází na /etc/elasticsearch/elasticsearch.yml. Úpravou tohoto souboru můžete nastavit název clusteru, port a povolit vzdálené připojení.
Otevřete soubor elasticsearch.yml ve svém nano editoru:
nano /etc/elasticsearch/elasticsearch.yml
Změňte následující řádky:
cluster.name: my-cluster network.host: 172.16.0.10 discovery.seed_hosts: 172.16.0.10
Uložte a zavřete soubor, poté restartujte službu Elasticsearch, abyste použili konfiguraci:
systemctl restart elasticsearch
V tomto okamžiku je Elasticsearch nakonfigurováno tak, aby přijímalo připojení od vzdáleného hostitele. Nyní můžete přejít k dalšímu kroku.
Konfigurovat bránu firewall UFW
Ve výchozím nastavení je UFW nainstalován v Ubuntu 20.04. Pokud není nainstalován, můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install ufw -y
Po instalaci UFW povolte připojení SSH a port Elasticsearch pro vzdáleného hostitele (172.16.0.100) pomocí následujícího příkazu:
ufw allow ssh
ufw allow from 172.16.0.100 to any port 9200
Dále povolte UFW firewall pomocí následujícího příkazu:
ufw enable
Dále ověřte stav pravidel brány firewall UFW pomocí následujícího příkazu:
ufw status
Měli byste získat následující výstup:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 9200 ALLOW 172.16.0.100 22/tcp (v6) ALLOW Anywhere (v6)
Závěr
Gratulujeme! úspěšně jste nainstalovali Elasticsearch a nakonfigurovali jej pro vzdálené připojení na serveru Ubuntu 20.04. Nyní můžete Elasticsearch integrovat do vaší aplikace. Pokud máte nějaké dotazy, neváhejte se mě zeptat.