Обмен технологиями

докер установить ElasticSearch

2024-07-12

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

Эта статья относится к следующим двум статьям

✅Развертывание ElasticSearch&Kibana · Облачный эффект Мысли · База знаний корпоративного уровня (aliyun.com)

Установка Docker ElasticSearch&Kibana - Feishu

Установить эластикпоиск

Используйте docker для загрузки es:

docker pull elasticsearch:8.13.0

Конфигурация крепления

Создайте висящий каталог файлов

  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

Отредактируйте файл /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

загрузочный образ

  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

Установить встроенный пароль пользователя

Для установки встроенного пароля пользователя Elasticsearch в среде Docker рекомендуется использовать elasticsearch-setup-passwords auto команда, поскольку она автоматически генерирует случайные пароли для встроенных пользователей и отображает их прямо на консоли. Этот метод больше подходит для автоматического развертывания или операций по сценарию.

Если вы хотите ввести пароль вручную и установить его в интерактивном режиме, вы можете использовать elasticsearch-setup-passwords interactive Заказ. Этот метод подходит для интерактивной установки паролей и позволяет вручную вводить пароль каждого пользователя в соответствии с вашими потребностями.

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

Однако это не работает. С такой проблемой вы столкнетесь позже, запустив кибану.Потому чтоПоследняя версия Elasticsearch Были введены более строгие политики безопасности, особенно когда речь идет о системных индексах, к которым Kibana должен иметь доступ.В частности, в сообщении об ошибке говорится, что использованиеelastic Учетная запись суперпользователя, но эта учетная запись не позволяет записывать в системные индексы, необходимые Kibana

Ошибка: [проверка конфигурации [elasticsearch].username]: значение «elastic» запрещено

Войдите в контейнер es, добавьте нового пользователя, установите права роли, создайте пароль согласно подсказкам и еще раз подтвердите пароль.

  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

Предупреждение не имеет значения, не беспокойтесь об этом.

ВНИМАНИЕ: Владельцем файла [/usr/share/elasticsearch/config/users_roles] раньше был [root], но теперь это [elasticsearch]

Доступ через браузер

IP-адрес:9200, Помните об открытом сопоставлении брандмауэрапорт

Установить Кибану

Загрузите кибану с помощью докера

docker pull kibana:8.13.0

Проверьте IP ES

docker inspect elasticsearch|grep IPAddress

Конфигурация крепления

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

редактироватькибана.yml, вам нужно установить только что найденный вами IP-адрес eselasticsearch.хосты, другие конфигурации можно настроить самостоятельно.

  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"

Запустить Кибану

  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

Доступ через браузер

http://ip:5601, Помните об открытом сопоставлении брандмауэрапорт

Введите имя пользователя (gxj), пароль (123456) для доступа.

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