Elasticsearch je distribuovaný vyhledávací a analytický nástroj postavený na Apache Lucene. Poskytuje distribuovaný fulltextový vyhledávač s možností více nájemců s webovým rozhraním HTTP a dokumenty JSON bez schémat. Elasticsearch se rychle stal nejoblíbenějším vyhledávačem a běžně se používá pro analýzy protokolů, fulltextové vyhledávání, bezpečnostní zpravodajství, obchodní analytiku a provozní případy použití.
Související obsah
- Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 20.04
- Jak nainstalovat a nakonfigurovat Elasticsearch na Debian 11
- Použití Ansible k instalaci a konfiguraci Elasticsearch na Ubuntu 20.04
Předpoklady
Chcete-li pokračovat, ujistěte se, že máte:
- Aktualizovaný server Rock Linux8 s alespoň 2 GB paměti RAM a 2 jádry
- Kořenový přístup k serveru nebo uživateli s přístupem sudo
- Přístup k internetu ze serveru
Obsah
- Ujistěte se, že je server aktuální
- Instalace Javy na server
- Importujte klíč gpg elasticsearch
- Nainstalujte Elasticsearch z RPM Repo
- Spusťte a povolte službu Elasticsearch
- Ověřte instalaci Elasticsearch
- Provádění jednoduchých operací pomocí Elasticsearch
1. Zajištění aktuálnosti serveru
Než budete pokračovat, ujistěte se, že je náš server aktuální a všechny balíčky jsou nejnovější verze. K tomu použijte tyto příkazy:
sudo dnf -y update
Pokud existují balíčky k aktualizaci, může výše uvedený příkaz trvat několik minut.
2. Nainstalujte Javu na server
Elasticsearch závisí na spuštění Java. Nainstalujte Java 11 runtime
sudo dnf install java-11-openjdk
Ověřte nainstalovanou verzi.
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Importujte klíč Elasticsearch GPG
Elasticsearch podepisuje všechny naše balíčky pomocí Elasticsearch Signing Key (PGP klíč D88E42B4, dostupný na https://pgp.mit.edu) s otiskem prstu:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Stáhněte a nainstalujte veřejný podpisový klíč:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4. Nainstalujte Elasticsearch z úložiště RPM
Vytvořte soubor s názvem elasticsearch.repo
v /etc/yum.repos.d/
. Pomocí textového editoru otevřete soubor:
sudo vim /etc/yum.repos.d/elasticsearch.repo
Poté přidejte následující obsah:
[elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=0 autorefresh=1 type=rpm-md
A vaše úložiště je připraveno k použití. Nyní můžete nainstalovat Elasticsearch.
Tento příkaz použijte k instalaci elasticsearch
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
Potvrďte
$ rpm -qi elasticsearch
Name : elasticsearch
Epoch : 0
Version : 7.16.3
Release : 1
Architecture: x86_64
Install Date: Fri 14 Jan 2022 09:21:53 AM UTC
Group : Application/Internet
Size : 517226057
License : Elastic License
Signature : RSA/SHA512, Fri 07 Jan 2022 02:57:25 AM UTC, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-7.16.3-1-src.rpm
Build Date : Thu 06 Jan 2022 11:49:11 PM UTC
Build Host : packer-virtualbox-iso-1636998457
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
5. Spusťte a povolte službu Elasticsearch
Služba Elasticsearch se ve výchozím nastavení nespustí. Ke spuštění použijte tento příkaz:
sudo systemctl start elasticsearch
Potvrďte stav služby pomocí tohoto příkazu:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-01-14 09:22:41 UTC; 16min ago
Docs: https://www.elastic.co
Main PID: 68286 (java)
Tasks: 64 (limit: 23176)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
├─68286 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=tr>
└─68485 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 14 09:22:18 dev-rockysrv.inv.re systemd[1]: Starting Elasticsearch...
Jan 14 09:22:41 dev-rockysrv.inv.re systemd[1]: Started Elasticsearch.
Výše uvedený výstup ukazuje, že služba je v provozu. Povolte službu pomocí tohoto příkazu:
sudo systemctl enable elasticsearch
Pokud se Elasticsearch z jakéhokoli důvodu nespustí, vytiskne důvod selhání na STDOUT. Soubory protokolu lze nalézt v /var/log/elasticsearch/
.
Ve výchozím nastavení služba Elasticsearch nezaznamenává informace do systemd
časopis. Chcete-li povolit journalctl
protokolování, --quiet
možnost musí být odstraněna z ExecStart
příkazového řádku v elasticsearch.service
soubor.
Když systemd
je povoleno protokolování, informace o protokolování jsou dostupné pomocí journalctl
příkazy:
Chcete-li sledovat deník:
sudo journalctl -f
Seznam záznamů deníku pro službu elasticsearch:
sudo journalctl --unit elasticsearch
Chcete-li vypsat položky deníku pro službu elasticsearch počínaje daným časem:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6. Ověřte instalaci Elasticsearch
V tomto okamžiku se ElasticSearch spustí a naslouchá na portu 9200. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 9200
Měli byste vidět následující výstup:
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
ElasticSearch můžete také ověřit pomocí následujícího příkazu.
curl -X GET "localhost:9200/"
výstup:
$ curl -X GET "localhost:9200/"
{
"name" : "dev-rockysrv.inv.re",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "td67jm-zSvKlKsnP4sIrxw",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
7. Provádění jednoduchých operací pomocí Elasticsearch
K přidání dat do ElasticSearch můžete použít příkaz Curl, jak je znázorněno níže:
curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/todo/task/1' -d '{ "name": "Go to the mall." }'
Měli byste vidět následující výstup:
{"_index":"todo","_type":"task","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Nyní můžete získat svá data pomocí požadavku GET:
curl -X GET 'http://localhost:9200/todo/task/1'
Měli byste vidět následující výstup:
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
Chcete-li načíst data ve formátu čitelném pro člověka, spusťte následující příkaz:
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
Měli byste získat následující výstup:
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
Závěr
A je to. V této příručce jsme se naučili, jak nainstalovat a používat ElasticSearch na serveru Rocky Linux 8. Nyní můžete snadno přidávat, číst, mazat a aktualizovat data v Elasticsearch.