Об ошибке при запуске файла docker-compose с помощью kafka, zookeeper и эластичного поиска - PullRequest
0 голосов
/ 14 мая 2018

Добрый день, я пытаюсь отладить выполнение файла docker-compose, использующего пару разработанных мной микросервисов: узел kafka, еще один узел zookeeper, еще один дляasticsearch и, наконец, kibana-sense.

Когда я запускаю команду docker-compose up, появляется исключение:

demo-kafka-elastic_1  | Caused by: org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{elastic}{172.21.0.5:9300}]
...
web - 2018-05-14 16:47:12,750 [elasticsearch[Neurotap][generic][T#1]] WARN  org.elasticsearch.client.transport - [Neurotap] node {#transport#-1}{elastic}{172.21.0.5:9300} not part of the cluster Cluster [elasticsearch_aironman], ignoring...

Это ссылка полного вывода, она большая ...

Это мой настоящий файл docker-compose.yml:

version: '3.6'
services:
demo-kafka-elastic:
image: aironman/demo-kafka-elastic:0.0.1-SNAPSHOT
deploy:
  replicas: 5
  resources:
    limits:
      cpus: "0.5"
      memory: 512M
  restart_policy:
      condition: on-failure

 demo-quartz:
 image: aironman/demo-quartz:0.0.1-SNAPSHOT
 deploy:
  replicas: 5
  resources:
    limits:
      cpus: "0.5"
      memory: 512M
  restart_policy:
      condition: on-failure

 zookeeper:
 image: wurstmeister/zookeeper
 ports:
  - "2181:2181"

 kafka:
 image: wurstmeister/kafka
 ports:
  - "9092:9092"
 environment:
  KAFKA_BROKER_ID: 1
  KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
  KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
 volumes:
  - /var/run/docker.sock:/var/run/docker.sock

 elastic:
  image: elasticsearch:2.4.0
  container_name: elastic
  environment:
    - cluster.name=elastic-cluster
    - http.host=0.0.0.0
    - network.publish_host=127.0.0.1
    - transport.tcp.port=9700
    - discovery.type=single-node
    - xpack.security.enabled=false
    - client.transport.sniff=false
  volumes: 
    - ./esdata/:/usr/share/elasticsearch/data/
  ports:
    - "9600:9200"
    - "9700:9700"

 kibana:
 image: seeruk/docker-kibana-sense:4.5
 ports:
  - "5601:5601"
 environment:
  - ELASTICSEARCH_URL=http://elastic:9200      

Я уверен, что я подталкиваю к теме kafka, я могу прослушать эту тему kafka, но я не могу вставить восстановленный json вasticsearch-2.4.0, мой вопрос: почему не работает с docker-compose? потому что я могу сделать это, когда я запускаю одни и те же процессы в локальном режиме с локальным запуском kafka, zookeeper иastic. Что мне нужно изменить в файле docker-compose.yml, чтобы он работал?

Я видел эту ссылку в переполнении стека, но она не работает.

Это ссылка демо-кафка-упругой и эта одна демо-кварц

UPDATE!

я прочитал это возможное решение с официального форума, используя плагин эластичной головки, я могу видеть, какое имя кластера назначается по умолчанию контейнером Docker, и я попытался сопоставить его с переменной среды cluster.name в файле docker-compose, но он не работает.

1 Ответ

0 голосов
/ 15 мая 2018

Хорошо, понял!проблема заключалась в том, что в моем файле application.properties было поле с именем

spring.data.elasticsearch.cluster-name=elasticsearch_aironman

, которое взаимодействует с переменной среды

cluster.name

что я использую в docker-compose.yml.

Удаление этой строки из файла application.properties добилось цели.

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