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.