Installe et configure Elasticsearch sur Rocky Linux 8

Elasticsearch est un moteur d’analyse gratuit et open-source utilisé pour stocker, rechercher et analyser de gros volumes de données en temps réel. Il est écrit en Java et basé sur Apache Lucene. Il est connu pour sa vitesse, son évolutivité et son puissant ensemble de fonctionnalités. Tu peux l’utiliser pour surveiller les performances des applications, la journalisation et l’analyse des journaux.

Dans ce tutoriel, nous allons te montrer comment installer ElasticSearch sur Rocky Linux 8.

Conditions préalables

  • Un serveur exécutant RockyLinux 8.
  • Un mot de passe root est configuré sur le serveur.

Installer Java

ElasticSearch est basé sur Java. Java doit donc être installé sur ton serveur. Tu peux l’installer à l’aide de la commande suivante :

dnf install java-11-openjdk-devel -y

Une fois que Java est installé, vérifie l’installation de Java à l’aide de la commande suivante :

java -version

Tu devrais voir la sortie suivante :

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

Installer ElasticSearch

Par défaut, ElasticSearch n’est pas inclus dans Rocky Linux 8. Tu devras donc créer un repo ElasticSearch.

Tout d’abord, importe la clé GPG d’ElasticSearch avec la commande suivante :

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Ensuite, crée un repo ElasticSearch avec la commande suivante :

nano /etc/yum.repos.d/elasticsearch.repo

Ajoute les lignes suivantes :

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Sauvegarde et ferme le fichier puis installe le paquet ElasticSearch avec la commande suivante :

dnf install elasticsearch -y

Une fois qu’ElasticSearch est installé, tu peux passer à l’étape suivante.

Configurer ElasticSearch

Par défaut, le fichier de configuration principal d’ElasticSearch se trouve dans /etc/elasticsearch/elasticsearch.yml. Tu peux le modifier à l’aide de la commande suivante :

nano /etc/elasticsearch/elasticsearch.yml

Définis ton nom de nœud, ton nom de cluster, ton chemin de données et ton hôte réseau comme indiqué ci-dessous :

cluster.name: Elastic Cluster
     node.name: rockylinux
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Enregistre et ferme le fichier puis démarre le service ElasticSearch et active son démarrage au redémarrage du système :

systemctl start elasticsearch
systemctl enable elasticsearch

Tu peux vérifier l’état d’ElasticSearch avec la commande suivante :

systemctl status elasticsearch

Tu devrais voir la sortie suivante :

? elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 04:34:34 UTC; 8s ago
     Docs: https://www.elastic.co
 Main PID: 5247 (java)
    Tasks: 62 (limit: 11411)
   Memory: 1.1G
   CGroup: /system.slice/elasticsearch.service
           ??5247 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=1>
           ??5412 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Aug 09 04:33:29 RockyLinux8 systemd[1]: Starting Elasticsearch...
Aug 09 04:34:34 RockyLinux8 systemd[1]: Started Elasticsearch.

Vérifier ElasticSearch

À ce stade, ElasticSearch est démarré et écoute sur le port 9200. Tu peux le vérifier avec la commande suivante :

ss -antpl | grep 9200

Tu devrais voir la sortie suivante :

LISTEN 0      128    [::ffff:127.0.0.1]:9200            *:*    users:(("java",pid=5247,fd=283))

Tu peux aussi vérifier ElasticSearch avec la commande suivante :

curl -X GET 'http://localhost:9200'

Tu devrais obtenir la sortie suivante :

{
  "name" : "rockylinux",
  "cluster_name" : "Elastic Cluster",
  "cluster_uuid" : "NuDPakHARaOJOMyi6ABQwA",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Comment utiliser ElasticSearch

Tu peux utiliser la commande Curl pour ajouter des données à ElasticSearch comme indiqué ci-dessous :

curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/tutorial/blog/1' -d '{ "message": "My first blog!" }'

Tu devrais obtenir la sortie suivante :

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Tu peux maintenant récupérer tes données à l’aide de la requête GET :

curl -X GET 'http://localhost:9200/tutorial/blog/1'

Tu devrais voir le résultat suivant :

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "message": "My first blog!" }}

Pour récupérer les données dans un format lisible par l’homme, exécute la commande suivante :

curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'

Tu devrais obtenir le résultat suivant :

{
  "_index" : "tutorial",
  "_type" : "blog",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "message" : "My first blog!"
  }
}

Conclusion

Dans le guide ci-dessus, tu as appris à installer et à utiliser ElasticSearch sur Rocky Linux 8. Tu peux maintenant facilement ajouter, lire, supprimer et mettre à jour des données dans Elasticsearch.

Vous aimerez aussi...