Comment installer Elasticsearch 8 sur Debian 12, 11 ou 10 Linux

Elasticsearch 8 est un moteur de recherche et d'analyse open source puissant et flexible, connu pour son évolutivité, sa rapidité et ses capacités d'indexation des données en temps réel. La version 8.x apporte des améliorations significatives, notamment des fonctionnalités de sécurité améliorées avec une gestion simple des certificats, des capacités de recherche de texte enrichies et une exécution de requêtes plus efficace. Il introduit également la prise en charge native des champs d'exécution, ce qui facilite la personnalisation de la façon dont les données sont indexées et recherchées sans modifier le schéma sous-jacent. Ces avancées font d'Elasticsearch 8.x une solution robuste pour gérer et analyser de grands volumes de données.

Pour installer Elasticsearch 8 sur Debian 12, 11 ou 10, vous pouvez utiliser le référentiel APT officiel fourni par Elasticsearch. Ce guide vous guidera à travers les étapes de configuration d'Elasticsearch, vous garantissant ainsi d'avoir accès aux dernières fonctionnalités et améliorations.

Mettre à jour Debian avant l'installation d'Elasticsearch

Dans un premier temps, vous devez vous assurer que votre système Debian Linux est mis à jour. Cette étape mettra à jour tous les logiciels existants vers ses dernières versions et préparera votre système pour l'installation.

Exécutez la commande suivante pour mettre à jour votre système Debian :

sudo apt update && sudo apt upgrade

Installation des packages nécessaires

Avant d'installer Elasticsearch 8 sur Debian, nous devons satisfaire des prérequis spécifiques. Cela implique l'installation de quelques packages requis, tels que software-properties-common, apt-transport-https et curl. Ces packages facilitent la gestion des logiciels et le transfert de données sur le réseau.

Installez les packages nécessaires en exécutant ce qui suit :

sudo apt install software-properties-common apt-transport-https curl -y

Ajouter le référentiel Elasticsearch 8 APT sur Debian

Ensuite, nous ajouterons le référentiel Elasticsearch APT à notre système Debian Linux. Tout d'abord, nous importerons la clé GPG pour Elasticsearch, qui garantit l'authenticité du logiciel que vous installez. Exécutez la commande suivante pour importer la clé GPG :

curl -fSsL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor | sudo tee /usr/share/keyrings/elasticsearch-8.gpg > /dev/null

Ensuite, importons le référentiel Elasticsearch. Cela nous permettra d'installer Elasticsearch directement en utilisant le apt directeur chargé d'emballage:

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-8.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch-8.list

Mise à jour du cache d'index APT

Nous devons mettre à jour l'index du package APT après avoir ajouté le référentiel Elasticsearch à notre système. Cela garantit qu'APT connaît les nouveaux packages du référentiel nouvellement ajouté. Exécutez la commande suivante pour mettre à jour l'index APT :

sudo apt update

Installez Elasticsearch 8 via la commande APT

Maintenant que notre système est préparé et que l'index APT est mis à jour, nous pouvons installer Elasticsearch 8. Utilisez la commande suivante pour installer Elasticsearch :

sudo apt install elasticsearch

Remarque : Si deux entrées existent pour le même référentiel Elasticsearch, vous rencontrerez une erreur lors de la mise à jour d'apt. Si vous rencontrez une erreur « Entrée sources.list en double », vérifiez le fichier /etc/apt/sources.list.d/elasticsearch-8.x.list pour l'entrée en double ou localisez l'entrée en double parmi les fichiers dans /etc/. apt/sources.list.d/ et le fichier /etc/apt/sources.list.

Activer Elasticsearch sur Debian après l'installation

Après l'installation, le service Elasticsearch est désactivé au démarrage et inactif par défaut. Pour activer le service Elasticsearch et le configurer pour qu'il démarre automatiquement au démarrage, utilisez ce qui suit systemctl commande:

sudo systemctl enable elasticsearch.service --now

Configurer Elasticsearch 8

La prochaine étape de la gestion d'Elasticsearch 8 sur votre système Debian Linux consiste à le configurer.

Se familiariser avec les paramètres Elasticsearch par défaut

Sur une nouvelle installation d'Elasticsearch, le logiciel place ses données traitées et stockées dans le répertoire /var/lib/elasticsearch. Si vous avez besoin de modifications de configuration, /etc/elasticsearch est votre répertoire de référence. Si les options de démarrage de Java doivent être modifiées, ces paramètres peuvent être ajustés dans le fichier de configuration /etc/default/elasticsearch.

Ces paramètres standard s'adaptent aux serveurs autonomes sur lesquels Elasticsearch fonctionne exclusivement sur localhost. Cependant, si vous envisagez d'établir un cluster Elasticsearch ou d'autoriser les connexions à distance, des modifications de la configuration par défaut sont nécessaires.

Affiner le fichier de configuration Elasticsearch

Le fichier de configuration Elasticsearch contient de nombreux paramètres qui peuvent être ajustés pour répondre à vos besoins uniques. Pour ouvrir ce fichier, exécutez la commande suivante :

sudo nano /etc/elasticsearch/elasticsearch.yml

Un paramètre important est cluster.name, qui désigne le nom du cluster auquel appartient votre nœud. Par défaut, il s'agit de « elasticsearch », mais un nom plus distinct est conseillé dans un environnement de production.

Voici un exemple :

cluster.name: my_application

L'option node.name est une autre option importante qui définit le nom du nœud Elasticsearch. Ce nom est essentiel pour une administration et une gestion fluides, en particulier lorsque vous travaillez avec plusieurs nœuds.

Voici un exemple :

node.name: node-1

Configurer Elasticsearch 8 avec HTTPS sur Debian

Ce qui suit couvre la configuration de HTTPS pour votre installation Elasticsearch. Le chiffrement est essentiel pour sécuriser les données, et permettre à Elasticsearch 8 d'utiliser HTTPS garantit la transmission sécurisée des données entre les nœuds et les clients.

Générer des certificats SSL

La première étape de la configuration d'Elasticsearch pour HTTPS consiste à générer un certificat SSL. Ce certificat va chiffrer les données entre votre serveur et vos clients. Elasticsearch dispose d'un outil intégré appelé elasticsearch-certutil que vous pouvez utiliser pour générer un certificat auto-signé. Exécutez la commande suivante :

sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert --silent --pem -out config/elastic-certificates.p12

Cela créera un fichier .p12 dans le répertoire de configuration. Ce fichier contient à la fois la clé privée et le certificat public. Il est essentiel de protéger ce fichier et de garantir qu'il n'est pas accessible aux utilisateurs non autorisés.

Mettre à jour la configuration d'Elasticsearch 8

Ensuite, vous devez mettre à jour le fichier de configuration Elasticsearch situé dans /etc/elasticsearch/elasticsearch.yml pour inclure les chemins d'accès à votre certificat et à votre clé privée. Ouvrez le fichier de configuration et ajoutez les lignes suivantes :

xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

Ces paramètres activent SSL pour la couche de transport, spécifient que nous utilisons des certificats pour la vérification SSL et définissent les chemins d'accès au certificat et à la clé privée.

Autoriser l'accès à distance (facultatif)

Elasticsearch est configuré pour écouter uniquement localhost par défaut. Cependant, cela peut être ajusté dans les cas où un accès à distance est requis. Recherchez la section Réseau et décommentez la ligne network.host en supprimant le # devant. Remplacez la valeur existante par votre adresse IP privée interne ou votre adresse IP externe.

Voici un exemple :

# network.host: 192.168.0.1

Dans cet exemple, network.host a été décommenté et ajusté à une adresse IP privée interne.

Pour des raisons de sécurité, il est conseillé de spécifier des adresses IP individuelles. Cependant, vous pouvez modifier l'interface réseau pour qu'elle écoute tout en la définissant sur 0.0.0.0 pour plusieurs adresses IP internes ou externes se connectant au serveur.

Après avoir apporté les modifications nécessaires, enregistrez le fichier de configuration (CTRL+O pour enregistrer, CTRL+X pour quitter).

Pour appliquer les modifications du fichier de configuration, redémarrez le service Elasticsearch avec la commande :

sudo systemctl restart elasticsearch

Modification des règles de pare-feu UFW pour les connexions à distance

Si vous avez configuré Elasticsearch pour autoriser les connexions à distance, il est essentiel d'ajuster vos règles de pare-feu pour prendre en charge ces connexions. Le pare-feu simple (UFW) peut vous aider.

Vous pouvez autoriser une adresse IP spécifique à se connecter à Elasticsearch en exécutant cette commande :

sudo ufw allow from <IP Address> to any port 9200

N'oubliez pas de remplacer avec l'adresse IP réelle à partir de laquelle vous souhaitez autoriser les connexions. Cette commande ouvrira le port 9200 pour l'adresse IP spécifiée, lui permettant d'interagir avec Elasticsearch.

Par exemple, si vous souhaitez autoriser la connexion de l'adresse IP 192.168.0.2, la commande serait :

sudo ufw allow from 192.168.0.2 to any port 9200

Ensuite, votre serveur Debian autorisera le trafic de 192.168.0.2 à accéder à Elasticsearch via le port 9200. N'oubliez pas que la sécurité de vos serveurs est primordiale, alors assurez-vous de n'accorder l'accès qu'aux adresses IP de confiance.

Vérification de la configuration d'Elasticsearch 8

Après avoir modifié votre configuration Elasticsearch, il est essentiel de vérifier que les modifications ont été correctement mises en œuvre et que votre instance Elasticsearch fonctionne comme prévu.

Vérification de l'état du service Elasticsearch 8

Tout d'abord, vérifiez l'état de votre service Elasticsearch pour confirmer qu'il est actif et en cours d'exécution. Vous pouvez le faire avec la commande suivante :

sudo systemctl status elasticsearch

Cette commande affichera des informations sur le service Elasticsearch, notamment s'il est actif et en cours d'exécution. Sinon, vous devrez peut-être résoudre le problème ou revoir vos modifications de configuration.

Test de l'accès à distance (facultatif)

Si vous avez activé l'accès à distance, vous pouvez le tester en essayant de vous connecter à votre instance Elasticsearch à partir d'une machine distante. Comme indiqué dans la section précédente, l'adresse IP à partir de laquelle vous vous connectez doit être autorisée dans vos règles de pare-feu.

Vous pouvez utiliser la commande curl à cet effet :

curl https://<Your_Elasticsearch_IP>:9200

Remplacer avec l'adresse IP de votre serveur Elasticsearch. En cas de succès, cette commande devrait renvoyer des informations sur votre instance Elasticsearch.

Validation de l'intégrité des données

Enfin, il est essentiel de vérifier l'intégrité de vos données Elasticsearch, surtout si vous avez apporté des modifications au répertoire de données dans votre configuration. Elasticsearch fournit des API que vous pouvez utiliser pour vérifier l'état de vos données.

Par exemple, pour obtenir l'état de tous les index, utilisez la commande suivante :

curl -X GET "https://localhost:9200/_cat/indices?v=true&pretty"

Cette commande répertorie tous les index de votre instance Elasticsearch et leur état de santé. Vérifiez l’état de santé de vos index pour vous assurer que vos données sont sécurisées et accessibles.

Remarque : N'oubliez pas que le maintien de l'intégrité et de la sécurité de vos données doit toujours être une priorité absolue. Vérifiez toujours vos modifications, validez votre configuration et surveillez régulièrement votre instance Elasticsearch. Cela vous aidera à maintenir un système de gestion de données fiable, efficace et sécurisé avec Elasticsearch.

Interagir avec Elasticsearch 8 via cURL

Cette section explorera les commandes courantes qui interagissent avec votre instance Elasticsearch 8. Nous utiliserons le curl outil de ligne de commande, une bibliothèque flexible pour transférer des données à l'aide de différents protocoles.

Supprimer un index

Un index Elasticsearch est un ensemble de documents présentant des caractéristiques similaires. Si vous souhaitez supprimer un index nommé samples, vous pouvez le faire avec la commande suivante :

curl -X DELETE 'https://localhost:9200/samples'

Cette commande envoie une requête HTTP DELETE à l'URL spécifiée, qui indique à Elasticsearch de supprimer l'index des exemples.

Liste de tous les indices

Pour récupérer une liste de tous les index de votre instance Elasticsearch, utilisez le point de terminaison _cat/indices avec une requête GET comme celle-ci :

curl -X GET 'https://localhost:9200/_cat/indices?v'

La réponse répertorie tous les index, y compris l'état de santé, l'état, la taille et le nombre de documents de l'index.

Récupérer des documents à partir d'un index

Pour récupérer tous les documents d'un index spécifique, par exemple un exemple, utilisez le point de terminaison _search :

curl -X GET 'https://localhost:9200/sample/_search'

Cette commande récupère tous les documents stockés dans l’exemple d’index.

Recherche avec les paramètres d'URL

Vous pouvez utiliser la syntaxe de requête de Lucene pour les recherches de texte de base. Par exemple, si vous souhaitez rechercher des documents dans lesquels le domaine scolaire est Harvard, vous utiliserez :

curl -X GET https://localhost:9200/samples/_search?q=school:Harvard

Cette commande envoie une requête GET au point de terminaison _search à l'aide du paramètre q pour la requête.

Recherche avec Elasticsearch Query DSL

Pour des requêtes plus complexes, vous préférerez peut-être utiliser Query DSL d'Elasticsearch, qui vous permet d'utiliser JSON pour définir des requêtes. Ce format est plus lisible et plus accessible pour le débogage de requêtes complexes.

Voici un exemple :

curl -XGET --header 'Content-Type: application/json' https://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

Cette commande fait la même chose que la précédente mais utilise JSON pour la définition de la requête. De cette façon, la commande est plus lisible, notamment lorsqu'il s'agit de requêtes plus complexes.

Ajout et mise à jour de documents

Pour ajouter un nouveau document à un index, vous pouvez utiliser la méthode PUT avec le point de terminaison _doc. Par exemple, pour ajouter un document avec un ID de 1 et un domaine scolaire de Harvard à l'index des échantillons, vous utiliserez :

curl -XPUT --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"
}'

Pour mettre à jour un document, vous pouvez utiliser la méthode POST avec le point de terminaison _update. Par exemple, pour ajouter un champ étudiants au document que nous venons de créer, vous utiliserez :

curl -XPOST --header 'Content-Type: application/json' https://localhost:9200/samples/_doc/1/_update -d '{
"doc" : {
               "students": 50000}
}'

Cette commande demande à Elasticsearch de mettre à jour le document avec un ID de 1 dans l'index des échantillons, en ajoutant un champ étudiants avec une valeur de 50 000.

Ces commandes ne représentent qu'un petit échantillon de ce que vous pouvez accomplir avec Elasticsearch. Le DSL de requête Elasticsearch

Gérer Elasticsearch 8 sur Debian 12, 11 ou 10

Ce segment approfondit le processus de suppression d'Elasticsearch 8 de votre serveur Debian Linux. Vous souhaiterez peut-être le faire pour plusieurs raisons, par exemple si le logiciel ne répond plus à vos besoins ou si vous envisagez de passer à une solution alternative. Quelles que soient vos raisons, les étapes décrites ci-dessous vous guideront tout au long du processus.

Suppression d'Elasticsearch 8 de Debian

L'éradication d'Elasticsearch de votre serveur implique une simple commande. N'oubliez cependant pas que cette action est irréversible et supprimera toutes les données associées. Voici la commande à exécuter :

sudo apt remove elasticsearch

L'exécution de la commande ci-dessus désinstallera efficacement Elasticsearch, libérant ainsi toutes les ressources système précédemment allouées.

Supprimer le référentiel Elasticsearch APT

Le référentiel Elasticsearch restera sur votre système après la désinstallation. Si vous êtes sûr de ne pas réinstaller Elasticsearch à l'avenir, autant vous en débarrasser pour éviter un encombrement inutile.

Voici comment supprimer le référentiel Elasticsearch :

sudo rm /etc/apt/sources.list.d/elasticsearch-8.list

La commande ci-dessus supprimera le référentiel Elasticsearch 8 de votre serveur Debian Linux.

Actualisation de la liste des référentiels

La dernière étape consiste à actualiser la liste des packages apt. Cette étape est essentielle pour garantir que votre système ne prend pas en compte Elasticsearch 8 pour les futures mises à jour ou installations.

La commande pour mettre à jour votre liste de référentiels est la suivante :

sudo apt update

Conclusion

Avec Elasticsearch 8 installé avec succès sur votre système Debian, vous pouvez tirer parti de ses capacités avancées de recherche et d'analyse pour gérer et analyser efficacement vos données. Mettez régulièrement à jour Elasticsearch pour bénéficier des dernières fonctionnalités et améliorations de sécurité. Profitez des puissantes fonctionnalités d'Elasticsearch 8.x, conçues pour répondre aux exigences de la gestion et de l'analyse des données modernes.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire