Elasticsearch est un moteur de recherche et d'analyse distribué basé sur Apache Lucene. Il fournit un moteur de recherche en texte intégral distribué et mutualisé avec une interface Web HTTP et des documents JSON sans schéma. Elasticsearch est rapidement devenu le moteur de recherche le plus populaire et est couramment utilisé pour l'analyse des journaux, la recherche en texte intégral, les renseignements sur la sécurité, l'analyse commerciale et les cas d'utilisation de l'intelligence opérationnelle.
Contenu connexe
- Comment installer et configurer Elasticsearch sur Ubuntu 20.04
- Comment installer et configurer Elasticsearch sur Debian 11
- Utiliser Ansible pour installer et configurer Elasticsearch sur Ubuntu 20.04
Prérequis
Pour suivre, assurez-vous d'avoir :
- Un serveur Rock Linux8 mis à jour avec au moins 2 Go de RAM et 2 cœurs
- Accès root au serveur ou utilisateur avec accès sudo
- Accès à Internet depuis le serveur
Table des matières
- Assurez-vous que le serveur est à jour
- Installer Java sur le serveur
- Importer la clé gpg elasticsearch
- Installez Elasticsearch à partir du référentiel RPM
- Démarrer et activer le service Elasticsearch
- Vérifier l'installation d'Elasticsearch
- Effectuer des opérations simples avec Elasticsearch
1. S'assurer que le serveur est à jour
Avant de continuer, assurons-nous que notre serveur est à jour et que tous les packages sont à la dernière version. Utilisez ces commandes pour y parvenir :
sudo dnf -y update
S'il y a des packages à mettre à niveau, la commande ci-dessus peut prendre quelques minutes.
2. Installer Java sur le serveur
Elasticsearch dépend de Java pour s'exécuter. Installer l'environnement d'exécution Java 11
sudo dnf install java-11-openjdk
Vérifiez la version installée.
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Importer la clé Elasticsearch GPG
Elasticsearch signe tous nos packages avec la clé de signature Elasticsearch (clé PGP D88E42B4, disponible sur https://pgp.mit.edu) avec empreinte digitale :
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Téléchargez et installez la clé de signature publique :
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4. Installez Elasticsearch à partir du référentiel RPM
Créez un fichier appelé elasticsearch.repo
dans le /etc/yum.repos.d/
. Utilisez votre éditeur de texte pour ouvrir le fichier :
sudo vim /etc/yum.repos.d/elasticsearch.repo
Ajoutez ensuite le contenu suivant :
[elasticsearch] 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=0 autorefresh=1 type=rpm-md
Et votre référentiel est prêt à l'emploi. Vous pouvez maintenant installer Elasticsearch.
Utilisez cette commande pour installer elasticsearch
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
Confirmer
$ rpm -qi elasticsearch
Name : elasticsearch
Epoch : 0
Version : 7.16.3
Release : 1
Architecture: x86_64
Install Date: Fri 14 Jan 2022 09:21:53 AM UTC
Group : Application/Internet
Size : 517226057
License : Elastic License
Signature : RSA/SHA512, Fri 07 Jan 2022 02:57:25 AM UTC, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-7.16.3-1-src.rpm
Build Date : Thu 06 Jan 2022 11:49:11 PM UTC
Build Host : packer-virtualbox-iso-1636998457
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
5. Démarrer et activer le service Elasticsearch
Le service Elasticsearch ne sera pas démarré par défaut. Utilisez cette commande pour démarrer :
sudo systemctl start elasticsearch
Confirmez l'état du service à l'aide de cette commande :
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-01-14 09:22:41 UTC; 16min ago
Docs: https://www.elastic.co
Main PID: 68286 (java)
Tasks: 64 (limit: 23176)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
├─68286 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=tr>
└─68485 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 14 09:22:18 dev-rockysrv.inv.re systemd[1]: Starting Elasticsearch...
Jan 14 09:22:41 dev-rockysrv.inv.re systemd[1]: Started Elasticsearch.
La sortie ci-dessus montre que le service est opérationnel. Activez le service à l'aide de cette commande :
sudo systemctl enable elasticsearch
Si Elasticsearch ne démarre pas pour une raison quelconque, il imprimera la raison de l'échec sur STDOUT. Les fichiers journaux se trouvent dans /var/log/elasticsearch/
.
Par défaut, le service Elasticsearch n'enregistre pas les informations dans le systemd
journal. Pour activer journalctl
journalisation, le --quiet
l'option doit être supprimée de ExecStart
ligne de commande dans elasticsearch.service
fichier.
Quand systemd
la journalisation est activée, les informations de journalisation sont disponibles à l'aide de journalctl
commandes :
Pour suivre le journal :
sudo journalctl -f
Pour répertorier les entrées de journal pour le service elasticsearch :
sudo journalctl --unit elasticsearch
Pour répertorier les entrées de journal pour le service elasticsearch à partir d'un moment donné :
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6. Vérifier l'installation d'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 :
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
vous pouvez également vérifier ElasticSearch avec la commande suivante.
curl -X GET "localhost:9200/"
sortie :
$ curl -X GET "localhost:9200/"
{
"name" : "dev-rockysrv.inv.re",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "td67jm-zSvKlKsnP4sIrxw",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
7. Effectuer des opérations simples avec 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/todo/task/1' -d '{ "name": "Go to the mall." }'
Vous devriez voir le résultat suivant :
{"_index":"todo","_type":"task","_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/todo/task/1'
Vous devriez voir le résultat suivant :
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
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/todo/task/1?pretty'
Vous devriez obtenir le résultat suivant :
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
Conclusion
C'est ça. Dans ce guide, nous avons appris à installer et à utiliser ElasticSearch sur le serveur Rocky Linux 8. Vous pouvez désormais facilement ajouter, lire, supprimer et mettre à jour des données dans Elasticsearch.