Imposta un'istanza Elasticsearch utilizzando i contenitori Docker

Imposta Un Istanza Elasticsearch Utilizzando I Contenitori Docker



Elasticsearch è un motore di ricerca e analisi distribuito, gratuito e aperto per tutti i tipi di dati, inclusi quelli testuali, numerici, geospaziali, strutturati e non strutturati.

Elasticsearch è basato su Apache Lucene ed è stato rilasciato per la prima volta nel 2010. Conosciuto per le sue semplici API REST, la natura distribuita, la velocità e la scalabilità, Elasticsearch è il componente centrale di Elastic Stack, un insieme di strumenti gratuiti e aperti per l'inserimento e l'arricchimento dei dati. , archiviazione, analisi e visualizzazione.

In questo tutorial, esamineremo rapidamente il processo di configurazione di un'istanza Elasticsearch utilizzando i contenitori Docker.







Requisiti:

Per eseguire i comandi e i passaggi forniti in questo post, assicurati di disporre di quanto segue:



  1. Motore Docker installato
  2. Docker Compose installato
  3. Autorizzazioni sufficienti per eseguire i contenitori Docker

Definire il file di composizione Docker

Il primo passaggio è definire la configurazione di Docker Compose per eseguire il contenitore Docker. Inizia creando la directory in cui archiviare il file di configurazione:



$ mkdir elastico
$ CD elastico

Crea un file 'docker-compose.yml' per eseguire il cluster Elasticsearch come mostrato nella seguente configurazione di esempio:





versione: '3'
Servizi:
elasticsearch01:
immagine: docker.elastic.co / elasticsearch / ricerca elastica:8.9.2
nome_contenitore: elasticsearch01
porti:
- 9200 : 9200
- 9300 : 9300
ambiente:
discovery.type: nodo singolo
reti:
- elastico
kibana01:
immagine: docker.elastic.co / kibana / kibana: 8.9.2
nome_contenitore: kibana01
porti:
- 5601 : 5601
ambiente:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
reti:
- elastico
reti:
elastico:
conducente: ponte

In questo file di esempio definiamo due service. Il primo configura il servizio Elasticsearch e l'altro configura l'istanza Kibana. I passaggi sono quelli descritti di seguito:

  • Utilizza l'immagine Elasticsearch 8.9.2.
  • Mappa le porte 9200 e 9300 dal contenitore all'host.
  • Imposta la variabile di ambiente 'discovery.type tosingle-node' per Elasticsearch.
  • Connettiti ad una rete personalizzata chiamata “elastica”.

Nel servizio Kibana, eseguiamo le seguenti azioni:



  • Utilizza l'immagine Kibana 8.9.2.
  • Mappare la porta 5601 dal contenitore all'host.
  • Specificare gli URL di connessione Elasticsearch tramite le variabili di ambiente ELASTICSEARCH_URL e ELASTICSEARCH_HOSTS.
  • Connettiti alla rete elastica.

Infine, configuriamo una rete personalizzata chiamata “elastica” utilizzando il driver bridge che consente ai contenitori Elasticsearch e Kibana di comunicare.

Esegui il contenitore

Una volta definiti i servizi, possiamo procedere ed eseguire i contenitori utilizzando il comando Docker Compose come segue:

$ la finestra mobile si compone -D

Accedi a Elasticsearch e Kibana

Una volta avviati i contenitori, possiamo procedere e accedere alle loro istanze ai seguenti indirizzi:

http: // host locale: 9200 - > Ricerca elastica

http: // host locale: 5601 - > Kibana

Esegui Elasticsearch utilizzando il comando 'Esegui' di Docker

Puoi anche eseguire rapidamente Elasticsearch utilizzando il comando 'run' della finestra mobile senza la necessità di definire la configurazione personalizzata.

Inizia creando una rete Docker da collegare all'istanza Elasticsearch:

$ la rete docker crea alci

Una volta creata, esegui il comando seguente per creare l'istanza Elasticsearch e collegarla alla rete creata:

$ esecuzione della finestra mobile -D --nome elasticsearch --netto alce -P 9200 : 9200 -P 9300 : 9300 'discovery.type=nodo singolo' ricerca elastica:tag

Ciò semplifica il processo di creazione di un file 'docker-compose' personalizzato ed esegue rapidamente l'istanza Elasticsearch.

Conclusione

Questo articolo ha trattato i passaggi fondamentali della definizione e dell'esecuzione di istanze Elasticsearch e Kibana utilizzando i contenitori Docker.