Partage de technologie

Docker installe ElasticSearch

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Cet article fait référence aux deux articles suivants

✅Déploiement ElasticSearch et Kibana · Réflexions sur l'effet cloud · Base de connaissances au niveau de l'entreprise (aliyun.com)

Installation Docker d'ElasticSearch&Kibana - Feishu

Installer ElasticSearch

Utilisez Docker pour télécharger les fichiers :

docker pull elasticsearch:8.13.0

Configuration du montage

Créer un répertoire de fichiers suspendus

  1. mkdir -p /home/docker/es/config
  2. mkdir -p /home/docker/es/data
  3. mkdir -p /home/docker/es/plugins
  4. mkdir -p /home/docker/es/logs
  5. #权限
  6. chmod 777 /home/docker/es/config
  7. chmod 777 /home/docker/es/data
  8. chmod 777 /home/docker/es/plugins
  9. chmod 777 /home/docker/es/logs

Modifiez le fichier /home/docker/es/config/elasticsearch.yml

  1. cluster.name: "nfturbo-cluster"
  2. network.host: 0.0.0.0
  3. http.cors.enabled: true
  4. http.cors.allow-origin: "*"
  5. xpack.security.enabled: true

image de démarrage

  1. docker run --name elasticsearch
  2. -p 9200:9200
  3. -p 9300:9300
  4. -e "discovery.type=single-node"
  5. -e ES_JAVA_OPTS="-Xms256m -Xmx512m"
  6. -v /home/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  7. -v /home/docker/es/data:/usr/share/elasticsearch/data
  8. -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins
  9. -v /home/docker/es/logs:/usr/share/elasticsearch/logs
  10. -d elasticsearch:8.13.0

Définir le mot de passe utilisateur intégré

Pour définir le mot de passe utilisateur intégré d'Elasticsearch dans un environnement Docker, il est recommandé d'utiliser elasticsearch-setup-passwords auto car elle génère automatiquement des mots de passe aléatoires pour les utilisateurs intégrés et les affiche directement sur la console. Cette méthode est plus adaptée au déploiement automatisé ou aux opérations scriptées.

Si vous souhaitez saisir votre mot de passe manuellement et le définir de manière interactive, vous pouvez utiliser elasticsearch-setup-passwords interactive Commande. Cette méthode convient à la définition de mots de passe de manière interactive et vous permet de saisir manuellement le mot de passe de chaque utilisateur en fonction de vos besoins.

  1. # 进入es容器内部
  2. docker exec -it a46f2f8bdfd7 /bin/bash
  3. #手动设置用户密码
  4. elasticsearch-setup-passwords interactive
  5. #重启es容器

Cependant, cela ne fonctionne pas. Vous rencontrerez un tel problème après avoir démarré Kibana plus tard.Parce quedernière version Recherche élastique Des politiques de sécurité plus strictes ont été introduites, notamment en ce qui concerne les index système auxquels Kibana doit accéder.Plus précisément, le message d'erreur indique que l'utilisation deelastic Compte super utilisateur, mais ce compte ne permet pas d'écrire dans les index système requis par Kibana

Erreur : [validation de la configuration de [elasticsearch].username] : la valeur « elastic » est interdite

Entrez dans le conteneur es, ajoutez un nouvel utilisateur, définissez les autorisations de rôle, créez un mot de passe selon les invites et confirmez à nouveau le mot de passe.

  1. bin/elasticsearch-users useradd gxj
  2. #密码123456
  3. bin/elasticsearch-users roles -a superuser gxj
  4. bin/elasticsearch-users roles -a kibana_system gxj

Peu importe l'avertissement, ne vous inquiétez pas

AVERTISSEMENT : le propriétaire du fichier [/usr/share/elasticsearch/config/users_roles] était auparavant [root], mais est désormais [elasticsearch]

Accès au navigateur

adresse IP:9200, N'oubliez pas le mappage ouvert du pare-feuport

Installer Kibana

Télécharger Kibana à l'aide de Docker

docker pull kibana:8.13.0

Vérifiez l'adresse IP d'ES

docker inspect elasticsearch|grep IPAddress

Configuration du montage

  1. #创建挂载文件
  2. touch /home/docker/es/config/kibana.yml
  3. #权限
  4. chmod 777 /home/docker/es/config/kibana.yml

modifierkibana.yml, vous devez définir l'adresse IP es que vous venez de trouver surelasticsearch.hosts, d'autres configurations peuvent être ajustées de manière appropriée par vous-même.

  1. server.name: kibana
  2. #server.port: 5601
  3. server.host: 0.0.0.0
  4. #改成 es 的内网 ip
  5. elasticsearch.hosts: [ "http://172.17.0.2:9200" ]
  6. elasticsearch.username: "gxj"
  7. elasticsearch.password: "123456"
  8. xpack.monitoring.ui.container.elasticsearch.enabled: true
  9. i18n.locale: "zh-CN"

Démarrer Kibana

  1. docker run --name kibana
  2. -p 5601:5601
  3. -v /home/docker/es/config/kibana.yml:/usr/share/kibana/config/kibana.yml
  4. -d kibana:8.13.0

Accès au navigateur

http://ip:5601, N'oubliez pas le mappage ouvert du pare-feuport

Entrez le nom d'utilisateur (gxj), le mot de passe (123456)) pour accéder

 
  1. #kibana容器运行日志
  2. docker logs kibana