Technologieaustausch

Docker installiert ElasticSearch

2024-07-12

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

Dieser Artikel bezieht sich auf die folgenden beiden Artikel

✅ElasticSearch&Kibana-Bereitstellung · Cloud-Effekt-Gedanken · Wissensdatenbank auf Unternehmensebene (aliyun.com)

Docker-Installation von ElasticSearch&Kibana – Feishu

Elasticsearch installieren

Verwenden Sie Docker, um es herunterzuladen:

docker pull elasticsearch:8.13.0

Mount-Konfiguration

Erstellen Sie ein Hängeregisterverzeichnis

  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

Bearbeiten Sie die Datei /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

Boot-Image

  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

Legen Sie das integrierte Benutzerkennwort fest

Zum Festlegen des in Elasticsearch integrierten Benutzerkennworts in einer Docker-Umgebung wird die Verwendung empfohlen elasticsearch-setup-passwords auto Befehl, da er automatisch zufällige Passwörter für integrierte Benutzer generiert und diese direkt auf der Konsole anzeigt. Diese Methode eignet sich besser für automatisierte Bereitstellungen oder Skriptvorgänge.

Wenn Sie Ihr Passwort manuell eingeben und interaktiv festlegen möchten, können Sie es verwenden elasticsearch-setup-passwords interactive Befehl. Diese Methode eignet sich zum interaktiven Festlegen von Passwörtern und ermöglicht die manuelle Eingabe des Passworts jedes Benutzers entsprechend Ihren Anforderungen.

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

Dies funktioniert jedoch nicht. Dieses Problem tritt später auf, wenn Sie Kibana starten.Weilletzte Version Elasticsearch Es wurden strengere Sicherheitsrichtlinien eingeführt, insbesondere wenn es um Systemindizes geht, auf die Kibana zugreifen muss.Konkret heißt es in der Fehlermeldung, dass usingelastic Superuser-Konto, aber dieses Konto erlaubt kein Schreiben in die von Kibana benötigten Systemindizes

Fehler: [Konfigurationsvalidierung von [elasticsearch].username]: Wert „elastic“ ist verboten

Geben Sie den es-Container ein, fügen Sie einen neuen Benutzer hinzu, legen Sie Rollenberechtigungen fest, erstellen Sie gemäß den Eingabeaufforderungen ein Kennwort und bestätigen Sie das Kennwort erneut

  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

Die Warnung spielt keine Rolle, machen Sie sich darüber keine Sorgen

WARNUNG: Eigentümer der Datei [/usr/share/elasticsearch/config/users_roles] war früher [root], jetzt ist es [elasticsearch].

Browserzugriff

IP-Adresse: 9200, Denken Sie an die offene Zuordnung der FirewallHafen

Installieren Sie Kibana

Laden Sie Kibana mit Docker herunter

docker pull kibana:8.13.0

Überprüfen Sie die IP von ES

docker inspect elasticsearch|grep IPAddress

Mount-Konfiguration

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

bearbeitenkibana.yml, müssen Sie die soeben gefundene es-IP einstellenelasticsearch.hostsAndere Konfigurationen können Sie selbst entsprechend anpassen.

  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"

Starten Sie 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

Browserzugriff

http://ip:5601, Denken Sie an die offene Zuordnung der FirewallHafen

Geben Sie den Benutzernamen (gxj) und das Passwort (123456) ein, um darauf zuzugreifen

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