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. Vous pouvez l'utiliser pour surveiller les performances des applications, la journalisation et l'analyse des journaux.
Dans ce tutoriel, nous allons vous montrer comment installer ElasticSearch sur Rocky Linux 8.
Prérequis
- 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 votre serveur. Vous pouvez l'installer à l'aide de la commande suivante :
dnf install java-11-openjdk-devel -y
Une fois Java installé, vérifiez l'installation de Java à l'aide de la commande suivante :
java -version
Vous devriez voir le résultat suivant :
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. Vous devrez donc créer un référentiel ElasticSearch.
Tout d'abord, importez la clé ElasticSearch GPG avec la commande suivante :
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Ensuite, créez un référentiel ElasticSearch avec la commande suivante :
nano /etc/yum.repos.d/elasticsearch.repo
Ajoutez 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
Enregistrez et fermez le fichier puis installez le package ElasticSearch avec la commande suivante :
dnf install elasticsearch -y
Une fois ElasticSearch installé, vous pouvez passer à l'étape suivante.
Configurer ElasticSearch
Par défaut, le fichier de configuration principal d'ElasticSearch se trouve dans /etc/elasticsearch/elasticsearch.yml . Vous pouvez le modifier avec la commande suivante :
nano /etc/elasticsearch/elasticsearch.yml
Définissez votre nom de nœud, votre nom de cluster, le chemin des données et l'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
Enregistrez et fermez le fichier, puis démarrez le service ElasticSearch et activez-le pour qu'il démarre au redémarrage du système :
systemctl start elasticsearch
systemctl enable elasticsearch
Vous pouvez vérifier l'état d'ElasticSearch avec la commande suivante :
systemctl status elasticsearch
Vous devriez voir le résultat suivant :
? 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. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep 9200
Vous devriez voir le résultat suivant :
LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=5247,fd=283))
Vous pouvez également vérifier ElasticSearch avec la commande suivante :
curl -X GET 'http://localhost:9200'
Vous devriez obtenir le résultat suivant :
{ "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
Vous pouvez 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!" }'
Vous devriez voir le résultat suivant :
{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Vous pouvez maintenant récupérer vos données à l'aide de la requête GET :
curl -X GET 'http://localhost:9200/tutorial/blog/1'
Vous devriez 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écutez la commande suivante :
curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'
Vous devriez 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, vous avez appris à installer et à utiliser ElasticSearch sur Rocky Linux 8. Vous pouvez désormais facilement ajouter, lire, supprimer et mettre à jour des données dans Elasticsearch.