Définir une instance Elasticsearch à l'aide de conteneurs Docker

Definir Une Instance Elasticsearch A L Aide De Conteneurs Docker



Elasticsearch est un moteur de recherche et d'analyse distribué, gratuit et ouvert pour tous les types de données, notamment textuelles, numériques, géospatiales, structurées et non structurées.

Elasticsearch est construit sur Apache Lucene et a été publié pour la première fois en 2010. Connu pour ses API REST simples, sa nature distribuée, sa vitesse et son évolutivité, Elasticsearch est le composant central de la Suite Elastic, un ensemble d'outils gratuits et ouverts pour l'ingestion et l'enrichissement des données. , stockage, analyse et visualisation.

Dans ce tutoriel, nous passerons rapidement en revue le processus de configuration d'une instance Elasticsearch à l'aide des conteneurs Docker.







Exigences:

Pour exécuter les commandes et les étapes fournies dans cet article, assurez-vous de disposer des éléments suivants :



  1. Moteur Docker installé
  2. Docker Compose installé
  3. Autorisations suffisantes pour exécuter les conteneurs Docker

Définir le fichier Docker Compose

La première étape consiste à définir la configuration Docker Compose pour exécuter le conteneur Docker. Commencez par créer le répertoire pour stocker le fichier de configuration :



$ mkdir élastique
$ CD élastique

Créez un fichier « docker-compose.yml » pour exécuter le cluster Elasticsearch, comme indiqué dans l'exemple de configuration suivant :





version: '3'
prestations de service:
recherche élastique01 :
image : docker.elastic.co / recherche élastique / recherche élastique : 8.9.2
nom_du conteneur : elasticsearch01
ports :
- 9200 : 9200
- 9300 : 9300
environnement:
Discovery.type : nœud unique
réseaux :
- élastique
Kibana01 :
image : docker.elastic.co / Kibana / Kibana : 8.9.2
nom_du conteneur : kibana01
ports :
- 5601 : 5601
environnement:
ELASTICSEARCH_URL : http : // recherche élastique01 : 9200
ELASTICSEARCH_HOSTS : http : // recherche élastique01 : 9200
réseaux :
- élastique
réseaux :
élastique:
pilote : pont

Dans ce fichier d'exemple, nous définissons deux services. Le premier configure le service Elasticsearch et l'autre configure l'instance Kibana. Les étapes sont décrites ci-dessous :

  • Utilisez l'image Elasticsearch 8.9.2.
  • Mappez les ports 9200 et 9300 du conteneur vers l'hôte.
  • Définissez la variable d'environnement « discovery.type tosingle-node » pour Elasticsearch.
  • Connectez-vous à un réseau personnalisé appelé « élastique ».

Dans le service Kibana, nous effectuons les actions suivantes :



  • Utilisez l'image Kibana 8.9.2.
  • Mappez le port 5601 du conteneur vers l'hôte.
  • Spécifiez les URL de connexion Elasticsearch via les variables d'environnement ELASTICSEARCH_URL et ELASTICSEARCH_HOSTS.
  • Connectez-vous au réseau élastique.

Enfin, nous mettons en place un réseau personnalisé appelé « élastique » à l'aide du pilote de pont qui permet aux conteneurs Elasticsearch et Kibana de communiquer.

Exécuter le conteneur

Une fois les services définis, nous pouvons procéder et exécuter les conteneurs à l'aide de la commande Docker Compose comme suit :

$ Docker compose -d

Accéder à Elasticsearch et Kibana

Une fois les conteneurs démarrés, nous pouvons procéder et accéder à leurs instances aux adresses suivantes :

http : // hôte local : 9200 - > Recherche élastique

http : // hôte local : 5601 - > Kibana

Exécutez Elasticsearch à l'aide de la commande Docker « Exécuter »

Vous pouvez également exécuter rapidement Elasticsearch à l'aide de la commande docker « run » sans avoir besoin de définir la configuration personnalisée.

Commencez par créer un réseau Docker à attacher à l'instance Elasticsearch :

$ le réseau Docker crée un wapiti

Une fois créée, exécutez la commande suivante pour créer l'instance Elasticsearch et l'attacher au réseau créé :

$ exécution du docker -d --nom recherche élastique --filet wapiti -p 9200 : 9200 -p 9300 : 9300 -C'est 'discovery.type = nœud unique' recherche élastique:balise

Cela simplifie le processus de création d'un fichier « docker-compose » personnalisé et exécute rapidement l'instance Elasticsearch.

Conclusion

Cet article couvre les étapes fondamentales de la définition et de l'exécution d'instances Elasticsearch et Kibana à l'aide des conteneurs Docker.