Autres versions

Vous êtes ici : Installation 7.0Pré-requisServeur de recherche

Serveur de recherche

Procédure d'installation du serveur Opensearch

Cette page décrit les étapes d'installation du serveur Opensearch, qui est utilisé pour le moteur de recherche de K-Sup.

Usage

Le serveur Opensearch est utilisé pour proposer une recherche avancée sur l'application K-Sup :
  • recherche plein texte
  • recherche à facette

Liens avec les autres serveurs

Type de lien Serveur Port Remarques
Entrant Serveur applicatif 9200 Utilisé pour la communication avec l'application. Port à ne pas ouvrir en dehors du réseau interne.

Pré-requis

  • OS : Debian 12
  • Java : Open JDK 17
Si java n'est pas installé sur la machine, il est possible de le faire à partir des packages officiels de l'OS Debian 12 :
sudo apt install default-jdk -y
 

Configuration de la mémoire virtuelle

Afin de fonctionner correctement, Opensearch nécessite que la propriété vm.max_map_count soit égale à 262144 (cf documentation officielle).
Pour contrôler cette valeur, il faut effectuer la commande suivante :
cat /proc/sys/vm/max_map_count
Si la valeur est différente de 262144, il faut alors éditer le fichier /etc/sysctl.conf et y inscrire
vm.max_map_count=262144
Il faut ensuite recharger la configuration avec la commande suivante
sudo sysctl -p

Installation

La documentation suit la documentation d'installation décrite sur la documentation officielle d'Opensearch : https://opensearch.org/docs/latest/install-and-configure/install-opensearch/index/.
sudo apt-get update && sudo apt-get -y install lsb-release ca-certificates curl gnupg2
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
sudo apt-get update
sudo apt list -a opensearch
sudo apt-get install opensearch

# Installation du plugin ingest-attachment
sudo /usr/share/opensearch/bin/opensearch-plugin install ingest-attachment

Afin de configurer le serveur, il faut éditer le fichier opensearch.yml présent dans /etc/opensearch/ et y inscrire la ligne suivante

plugins.security.disabled: true

Enfin, afin de configurer la mémoire allouée au serveur il faut éditer le fichier jvm.options présent dans /etc/opensearch/ et y inscrire les lignes suivantes

-Xms2g
-Xmx2g

Il faut ensuite démarrer le serveur Opensearch

sudo systemctl enable opensearch
sudo systemctl start opensearch
sudo systemctl status opensearch

Vérification de l'installation

Vérification de l'installation de java

Afin de vérifier l'installation de java, vous pouvez exécuter la commande suivante :
java --version
Celle ci doit retourner une sortie de la forme suivante :
openjdk 17.0.9 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+9-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.9+9-Debian-1deb12u1, mixed mode, sharing)
Où le numéro de version doit être de la forme 17.0.x (suivant la version mineure installée).

Vérification de la locale du serveur

Afin de vérifier la locale de l'environnement, vous pouvez exécuter la commande suivante :

localectl status

Celle-ci doit retourner une sortie de la forme suivante

 System Locale: LANG=fr_FR.UTF-8
    VC Keymap: fr-oss
   X11 Layout: fr
  X11 Variant: oss

Vérification de la valeur vm.max_map_count

L'exécution de la commande suivant :

cat /proc/sys/vm/max_map_count

doit retourner 262144.

Vérification de l'installation des plugins

Afin de vérifier les plugins installés sur le serveur il faut exécuter la commande suivante :
/usr/share/opensearch/bin/opensearch-plugin list
La sortie de la commande doit retourner la liste suivante
  • ingest-attachment
  • opensearch-alerting
  • opensearch-anomaly-detection
  • opensearch-asynchronous-search
  • opensearch-cross-cluster-replication
  • opensearch-custom-codecs
  • opensearch-geospatial
  • opensearch-index-management
  • opensearch-job-scheduler
  • opensearch-knn
  • opensearch-ml
  • opensearch-neural-search
  • opensearch-notifications
  • opensearch-notifications-core
  • opensearch-observability
  • opensearch-performance-analyzer
  • opensearch-reports-scheduler
  • opensearch-security
  • opensearch-security-analytics
  • opensearch-sql

Vérification de la configuration

L'exécution de la commande suivante :
grep "plugins.security.disabled" /etc/opensearch/opensearch.yml
doit retourner :
plugins.security.disabled: true

  Vérification du démarrage du serveur

Afin de vérifier si le serveur est bien démarré et écoute sur le bon port, vous pouvez effectuer la commande suivante
wget -O- "http://localhost:9200" --user=admin --password=admin --no-check-certificate
Celle-ci doit retourner une sortie de la forme :
{
 "name" : "ksup",
 "cluster_name" : "opensearch",
 "cluster_uuid" : "AW9QFXRtSoGh70lTW57cgw",
 "version" : {
 "distribution" : "opensearch",
 "number" : "2.11.1",
 "build_type" : "deb",
 "build_hash" : "6b1986e964d440be9137eba1413015c31c5a7752",
 "build_date" : "2023-11-29T21:43:44.221253956Z",
 "build_snapshot" : false,
 "lucene_version" : "9.7.0",
 "minimum_wire_compatibility_version" : "7.10.0",
 "minimum_index_compatibility_version" : "7.0.0"
 },
 "tagline" : "The OpenSearch Project: https://opensearch.org/"
}
  où vous pouvez vérifier les informations sur la version du serveur avec l'attribut "distribution".

Mis à jour le 6 juin 2024