Elasticsearch è un motore di analisi distribuito open source basato su Apache Lucene. Prende i dati non strutturati da diverse posizioni e li archivia in base alla mappatura specificata dall'utente e li indicizza. Supporta operazioni RESTful e ti consente di cercare e analizzare enormi volumi di dati in tempo reale.
In questo tutorial, ti mostreremo come installare Elasticsearch su Ubuntu 20.04.
Prerequisiti
- Un server che esegue il server Ubuntu 20.04.
- Sul server è configurata una password di root.
Per iniziare
Prima di iniziare, dovrai aggiornare il tuo sistema all'ultima versione. Puoi aggiornarlo con il seguente comando:
apt-get update -y
Una volta aggiornato il tuo sistema, installa altri pacchetti richiesti con il seguente comando:
apt-get install curl gnupg2 apt-transport-https unzip -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Elasticsearch
Per impostazione predefinita, il pacchetto Elasticsearch non è disponibile nel repository predefinito di Ubuntu. Quindi dovrai aggiungere il repository Elasticsearch al tuo sistema. Innanzitutto, importa la chiave GPG con il seguente comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Successivamente, aggiungi il repository Elasticsearch con il seguente comando:
sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Una volta aggiunto il repository, aggiorna la cache del repository e installa Elasticsearch con il seguente comando:
apt-get update -y
apt-get install elasticsearch -y
Al termine dell'installazione, avvia il servizio Elasticsearch e abilitalo all'avvio al riavvio del sistema:
systemctl start elasticsearch
systemctl enable elasticsearch
Ora puoi verificare lo stato del servizio Elasticsearch con il seguente comando:
systemctl status elasticsearch
Dovresti ottenere il seguente output:
? 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.
Verifica Elasticsearch
Per impostazione predefinita, Elasticsearch è in ascolto sulla porta 9200. Puoi verificarlo utilizzando il seguente comando:
ss -antpl | grep 9200
Dovresti ottenere il seguente output:
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))
Puoi anche verificare Elasticsearch utilizzando il comando seguente:
curl -X GET "localhost:9200/"
Dovresti ottenere la seguente risposta:
{ "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" }
Configura Elasticsearch
Il file di configurazione principale di Elasticsearch si trova in /etc/elasticsearch/elasticsearch.yml. Puoi impostare il nome del cluster, la porta e consentire la connessione remota modificando questo file.
Apri il file elasticsearch.yml nel tuo nano editor:
nano /etc/elasticsearch/elasticsearch.yml
Modifica le seguenti righe:
cluster.name: my-cluster network.host: 172.16.0.10 discovery.seed_hosts: 172.16.0.10
Salva e chiudi il file, quindi riavvia il servizio Elasticsearch per applicare la configurazione:
systemctl restart elasticsearch
A questo punto, Elasticsearch è configurato per accettare la connessione dall'host remoto. Ora puoi procedere al passaggio successivo.
Configura Firewall UFW
Per impostazione predefinita, UFW è installato in Ubuntu 20.04. Se non è installato, puoi installarlo con il seguente comando:
apt-get install ufw -y
Una volta installato UFW, consenti la connessione SSH e la porta Elasticsearch per l'host remoto (172.16.0.100) con il seguente comando:
ufw allow ssh
ufw allow from 172.16.0.100 to any port 9200
Quindi, abilita il firewall UFW con il seguente comando:
ufw enable
Successivamente, verifica lo stato delle regole del firewall UFW con il comando seguente:
ufw status
Dovresti ottenere il seguente output:
Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere 9200 ALLOW 172.16.0.100 22/tcp (v6) ALLOW Anywhere (v6)
Conclusione
Congratulazioni! hai installato con successo Elasticsearch e lo hai configurato per la connessione remota sul server Ubuntu 20.04. Ora puoi integrare Elasticsearch con la tua applicazione. Sentiti libero di chiedermi se hai domande.