Невозможно запустить Elasticsearch в docker на экземпляре amazon Ec2 - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь запустить elasticsearch 7.7 в контейнере docker, используя экземпляр t2.medium, и прошел через этот вопрос SO и официальные документы ES при установке ES с использованием docker, но даже после предоставления discovery.type: single-node он не обходит проверки bootstrap, упомянутые в нескольких сообщениях.

Мой elasticsearch.yml файл

cluster.name: scanner
node.name: node-1
network.host: 0.0.0.0
discovery.type: single-node
cluster.initial_master_nodes: node-1 // tried explicitly giving this but no luck
xpack.security.enabled: true 

Мой Dockerfile

FROM docker.elastic.co/elasticsearch/elasticsearch:7.7.0
COPY elasticsearch.yml /usr/share/elasticsearch/elasticsearch.yml
USER root
RUN chmod go-w /usr/share/elasticsearch/elasticsearch.yml
RUN chown root:elasticsearch /usr/share/elasticsearch/elasticsearch.yml
USER elasticsearch

Вот как я создаю и запускаю образ.

docker build -t es:latest .
docker run --ulimit nofile=65535:65535 -p 9200:9200 es:latest

И соответствующие журналы ошибок

75 "," сообщение ":" привязано или публикуется в не -loopback address, принудительное выполнение bootstrap проверок "} ОШИБКА: 1 bootstrap не удалось проверить 1 : настройки обнаружения по умолчанию не подходят для производственного использования; по крайней мере, одно из [обнаружение. seed_hosts, Discovery.seed_providers, cluster.initial_master_nodes] должны быть настроены ОШИБКА: Elasticsearch не завершился нормально - проверьте журналы в /usr/share/elasticsearch/logs/docker-cluster.log

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Проблема связана с вашим Dockerfile, вы копируете свое собственное elasticsearch.yml в /usr/share/elasticsearch местоположение, а если вы видите настроенный docker раздел изображения по той же ссылке, о которой вы уже упоминали в вашем вопросе.

Он копирует файл в /usr/share/elasticsearch/config местоположение, Обратите внимание на папку конфигурации в пути, поскольку это путь, используемый Elasticsearch для чтения файла конфигурации.

Из той же ссылки вы должны скопировать и изменить разрешение файла в Dockerfile.

COPY --chown = elasticsearch: elasticsearch elasticsearch.yml / usr / share / elasticsearch / config /

После этого вы также можете проверить правильность содержимого вашего файла, который вы копируете, перейдя внутрь контейнера, используя docker exec -it <your container id>.

0 голосов
/ 30 мая 2020

Elasticsearch в одном узле

version: '3.7'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.7.0
    container_name: elasticsearch
    environment:
      - node.name=vibhuvi-node
      - discovery.type=single-node
      - cluster.name=vibhuvi-es-data-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - vibhuviesdata:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
networks:
  elastic:
    driver: bridge  
volumes:
  vibhuviesdata:
    driver: local

Выполнить

docker-compose up -d

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...