Elasticsearch è un motore di ricerca e analisi distribuito basato su Apache Lucene. Fornisce un motore di ricerca full-text distribuito e multi-tenant con un'interfaccia Web HTTP e documenti JSON privi di schemi. Elasticsearch è diventato rapidamente il motore di ricerca più popolare ed è comunemente utilizzato per l'analisi dei log, la ricerca full-text, l'intelligence sulla sicurezza, l'analisi aziendale e i casi d'uso dell'intelligence operativa.
Contenuti correlati
- Come installare e configurare Elasticsearch su Ubuntu 20.04
- Come installare e configurare Elasticsearch su Debian 11
- Utilizzo di Ansible per installare e configurare Elasticsearch su Ubuntu 20.04
Prerequisiti
Per seguire, assicurati di avere:
- Un server Rock Linux8 aggiornato con almeno 2 GB di RAM e 2 core
- Accesso root al server o utente con accesso sudo
- Accesso a Internet dal server
Indice dei contenuti
- Assicurati che il server sia aggiornato
- Installazione di Java sul server
- Importa la chiave gpg elasticsearch
- Installa Elasticsearch dal repository RPM
- Avvia e abilita il servizio Elasticsearch
- Verifica l'installazione di Elasticsearch
- Eseguire semplici operazioni con Elasticsearch
1. Garantire che il server sia aggiornato
Prima di procedere, assicuriamoci che il nostro server sia aggiornato e che tutti i pacchetti siano l'ultima versione. Usa questi comandi per raggiungere questo obiettivo:
sudo dnf -y update
Se sono presenti pacchetti da aggiornare, il comando precedente potrebbe richiedere un paio di minuti.
2. Installa Java sul server
Elasticsearch dipende da Java per l'esecuzione. Installa java 11 runtime
sudo dnf install java-11-openjdk
Verifica la versione installata.
$ 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. Importa la chiave GPG di Elasticsearch
Elasticsearch firma tutti i nostri pacchetti con la chiave di firma Elasticsearch (chiave PGP D88E42B4, disponibile da https://pgp.mit.edu) con impronta digitale:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Scarica e installa la chiave di firma pubblica:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4. Installa Elasticsearch dal repository RPM
Crea un file chiamato elasticsearch.repo
nel /etc/yum.repos.d/
. Usa il tuo editor di testo per aprire il file:
sudo vim /etc/yum.repos.d/elasticsearch.repo
Quindi aggiungi quanto segue il contenuto:
[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
E il tuo repository è pronto per l'uso. Ora puoi installare Elasticsearch.
Usa questo comando per installare elasticsearch
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
Conferma
$ 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. Avvia e abilita il servizio Elasticsearch
Il servizio Elasticsearch non verrà avviato per impostazione predefinita. Usa questo comando per iniziare:
sudo systemctl start elasticsearch
Conferma lo stato del servizio utilizzando questo comando:
$ 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.
L'output sopra mostra che il servizio è attivo e funzionante. Abilita il servizio usando questo comando:
sudo systemctl enable elasticsearch
Se Elasticsearch non si avvia per qualsiasi motivo, stamperà il motivo del fallimento su STDOUT. I file di registro sono disponibili in /var/log/elasticsearch/
.
Per impostazione predefinita, il servizio Elasticsearch non registra le informazioni in systemd
rivista. Per abilitare journalctl
logging, il --quiet
l'opzione deve essere rimossa da ExecStart
riga di comando in elasticsearch.service
file.
Quando systemd
la registrazione è abilitata, le informazioni di registrazione sono disponibili utilizzando il journalctl
comandi:
Per pedinare il diario:
sudo journalctl -f
Per elencare le prime note per il servizio elasticsearch:
sudo journalctl --unit elasticsearch
Per elencare le prime note per il servizio elasticsearch a partire da una determinata ora:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6. Verifica l'installazione di Elasticsearch
A questo punto ElasticSearch è avviato e in ascolto sulla porta 9200. Puoi verificarlo con il seguente comando:
ss -antpl | grep 9200
Dovresti vedere il seguente output:
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
puoi anche verificare ElasticSearch con il seguente comando.
curl -X GET "localhost:9200/"
uscita:
$ 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. Esecuzione di semplici operazioni con Elasticsearch
Puoi utilizzare il comando Curl per aggiungere dati a ElasticSearch come mostrato di seguito:
curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/todo/task/1' -d '{ "name": "Go to the mall." }'
Dovresti vedere il seguente output:
{"_index":"todo","_type":"task","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Ora puoi recuperare i tuoi dati utilizzando la richiesta GET:
curl -X GET 'http://localhost:9200/todo/task/1'
Dovresti vedere il seguente output:
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
Per recuperare i dati in un formato leggibile, esegui il comando seguente:
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
Dovresti ottenere il seguente output:
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
Conclusione
Questo è tutto. In questa guida, abbiamo appreso come installare e utilizzare ElasticSearch sul server Rocky Linux 8. Ora puoi facilmente aggiungere, leggere, eliminare e aggiornare i dati in Elasticsearch.