Tutoriel : comment configurer un cluster ElasticSearch en quelques étapes

ElasticSearch utilise YAML pour la configuration des scripts. Suivez ces étapes pour configurer un cluster ElasticSearch avec deux nœuds.

Les outils de gestion et de monitoring sont devenus des briques clé pour prendre le pouls du SI. Ils garantissent un niveau élevé de performance et de disponibilité. Ils sont clé dans la bonne tenue des SLA : plus les outils informatiques sont fiables, plus fiable sera l'environnement applicatif. Les clusters multinœuds font partie de cette forme de résilience recherchée.

Ce tutoriel vous en livre les bases et vous permettant de  met en place un cluster à deux nœuds pour ElasticSearch. Cet article porte sur l’installation d’ElasticSearch sur deux systèmes Ubuntu et la connexion de ces nœuds ElasticSearch pour fonctionner en cluster.

ElasticSearch offre des fonctionnalités de recherche pour la gestion et le monitoring des systèmes. Il fait partie de la pile Elastic Stack, anciennement ELK stack, d’ElasticSearch, qui comprend Logstash et Kibana. ElasticSearch permet le stockage et l'extraction de données et supporte plusieurs types de recherches.

Pour créer un cluster ElasticSearch, il faut commencer par la configuration de l'hébergement et installer l'outil de recherche. Ensuite, il faut configurer un cluster ElasticSearch, et l’exécuter pour s’assurer que les nœuds fonctionnent correctement.

Préparer le déploiement

Pour configurer les nœuds ElasticSearch, il convient d’ouvrir les ports TCP 9200 et 9300. Le port 9200 est l'interface REST, où sont envoyées les commandes curl. La ligne de commande curl est la façon dont on communique avec ElasticSearch. L'outil utilise le port 9300 pour les communications de nœud à nœud. Avec ces ports ouverts, les deux nœuds hébergeant ElasticSearch peuvent se parler et l'administrateur peut gérer le cluster.

Ajouter la clé au repository, puis installer ElasticSearch avec apt-get :

wget -qO - https://artifacts.elastic.co/GPG-KEY-ElasticSearch | sudo apt-key add -
sudo apt-get update
sudo apt-get install ElasticSearch

Puis, il convient d’installer le plugin File-Based Discovery, qui demande à ElasticSearch de regarder dans le fichier /etc/ElasticSearch/discovery-file/unicast_hosts.txt pour les adresses IP des autres nœuds du cluster. Pour installer le plugin, utiliser cd pour pointer vers le bon répertoire :

cd /usr/share/ElasticSearch/
sudo bin/ElasticSearch-plugin install discovery-file

Les utilisateurs d'AWS peuvent avoir recours au plugin Elastic Compute Cloud (EC2) Discovery, s'ils le préfèrent. Bien que vous n'ayez pas besoin de configurer des règles utilisateur spéciales, celles-ci permettent un contrôle granulaire.

Il faut ensuite utiliser vim pour éditer le fichier de découverte unicast_hosts.txt, et entrer les adresses IP de chaque serveur qui hébergera ElasticSearch, comme indiqué dans le code ci-dessous. Ces serveurs sont les nœuds qui doivent communiquer entre eux. Sur AWS EC2, les serveurs ont une adresse IP 172.* lorsque est exécuté ifconfig pour configurer les interfaces réseau. Cette adresse est différente de l'adresse IP publique attribuée à chaque serveur.

sudo vim /etc/ElasticSearch/discovery-file/unicast_hosts.txt
 
#10.10.10.5:10005
 172.31.46.15
 172.31.47.43

Configurer le cluster ElasticSearch

 L'environnement étant configuré pour deux nœuds ElasticSearch, il faut désormais compléter le fichier ElasticSearch.yml avec les informations du cluster, toujours avec la commande vim.

Dans ce tutoriel, nous ajoutons un nom de cluster, un nom de noeud et des informations sur le rôle du noeud et comment il gère les données (voir le tableau).

Elasticsearch cluster
Table. Voici les paramètres de base pour configurer un cluster ElasticSearch.

Exécuter ElasticSearch

Une fois le cluster configuré et les nœuds prêts pour communiquer entre eux, lancez ElasticSearch sur chaque serveur :

sudo service ElasticSearch start

Il est ensuite nécessaire de vérifier si les logs contiennent des erreurs. Le nom du fichier log est le nom du serveur - paris, comme indiqué ci-dessus, pour ce noeud - avec le suffixe .log. La commande tail extrait des informations à partir d'un fichier :

sudo tail –/var/log/ElasticSearch/paris.log

Exécutez la commande curl ci-dessous pour voir si les deux serveurs configurés comme nœuds ElasticSearch apparaissent dans la requête d'état du cluster :

curl -XGET http://(IP address):9200/_cluster/state

Cela doit afficher deux nœuds :

Résultat

ElasticSearch est maintenant configuré pour fonctionner sur un cluster à deux nœuds. Il y a d'autres éléments à apprendre pour gérer efficacement ElasticSearch, comme la façon de travailler avec des shards et des types d'index. Mais c’est déjà un début.

Pour approfondir sur Open Source