1. Avec Docker Compose #
Un nœud et sa console.
La pile #
Depuis la version 2.12, un mot de passe administrateur fort est obligatoire : sans lui, ou s'il est trop faible, OpenSearch s'arrête au démarrage. Placez-le dans un fichier .env, hors de Git.
OPENSEARCH_INITIAL_ADMIN_PASSWORD=Str0ng!Passw0rd-2026services:
opensearch:
image: opensearchproject/opensearch:3
environment:
discovery.type: single-node
OPENSEARCH_INITIAL_ADMIN_PASSWORD: ${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
OPENSEARCH_JAVA_OPTS: -Xms1g -Xmx1g
path.repo: /usr/share/opensearch/data/snapshots
ports:
- "9200:9200"
volumes:
- os-data:/usr/share/opensearch/data
dashboards:
image: opensearchproject/opensearch-dashboards:3
environment:
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
ports:
- "5601:5601"
depends_on: [opensearch]
volumes:
os-data:sudo sysctl -w vm.max_map_count=262144
docker compose up -d
curl -sk -u 'admin:Str0ng!Passw0rd-2026' -H 'Content-Type: application/json' https://localhost:9200/_cat/health?vLa console est sur http://localhost:5601 (utilisateur admin).
Les réglages de l'hôte #
Le conteneur s'arrête aussitôt ? Vérifiezvm.max_map_countsur l'hôte Linux : la valeur attendue est 262144. Rendez-la permanente dans/etc/sysctl.conf.
2. Avec l'archive #
Sans conteneur.
Installer sur un serveur #
tar -xf opensearch-3.9.0-linux-x64.tar.gz && cd opensearch-3.9.0
echo 'discovery.type: single-node' >> config/opensearch.yml
export OPENSEARCH_INITIAL_ADMIN_PASSWORD='Str0ng!Passw0rd-2026'
./opensearch-tar-install.shLe script installe des certificats de démonstration et démarre le nœud, en HTTPS : d'où l'option -k de curl. Pour une vraie production, remplacez ces certificats.
MessageMultiple garbage collectors selected? Rencontré lors de nos essais sur la 3.9 avec l'archive : il venait d'unOPENSEARCH_JAVA_OPTSexporté dans l'environnement. Réglez plutôt la mémoire dansconfig/jvm.options.
3. Dimensionner la mémoire #
Le réglage le plus important.
Le tas de la JVM #
Fixez -Xms et -Xmx à la même valeur, environ la moitié de la mémoire de la machine, et sans dépasser 32 Go. Le reste sert au cache du système, très utilisé par Lucene.
-Xms4g
-Xmx4gMon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Installer Jaeger v2 : all-in-one, configuration et stockages
Lancer Jaeger v2 en all-in-one, comprendre son fichier de configuration (extensions jaeger_storag...
Installer Phoenix et tracer sa première application LLM
Installer Arize Phoenix (pip, Docker), envoyer ses premières traces OpenInference depuis une appl...
Performance et capacity planning Elasticsearch : shards, heap, indexation et benchmarks
Dimensionner et optimiser Elasticsearch : taille et nombre de shards, heap JVM, caches, réglages ...
Kibana avancé : data views, Lens, dashboards, alerting et reporting
Exploiter Kibana en profondeur : data views et champs runtime, Discover, Lens et formules, dashbo...
Visualiser dans Kibana : Lens, dashboards et objets enregistrés
Construire des visualisations avec Lens, assembler des dashboards interactifs (filtres, contrôles...
Sécurité avancée Elasticsearch : TLS, certificats, clés d'API, FLS, DLS et audit
Sécuriser Elasticsearch en profondeur : TLS transport et HTTP, gestion des certificats avec elast...
Installer Grafana Tempo (Docker Compose, binaire et Helm)
Installer Grafana Tempo : configuration tempo.yaml, Docker Compose avec Grafana et Prometheus, po...
Installer Grafana Loki (Docker Compose, binaire et Helm)
Installer et valider Grafana Loki : configuration minimale, Docker Compose avec Grafana et Alloy,...
Grafana Faro : architecture et installation
Installer Grafana Faro : le SDK web (npm ou CDN), le récepteur faro.receiver d'Alloy, l'envoi ver...