кафка | Ошибка: не удается открыть HTTP-сервер: ошибка socket.error сообщена errno.ENOENT (2) - PullRequest
0 голосов
/ 28 марта 2020

Я пытаюсь запустить несколько контейнеров, используя docker -compose со следующей конфигурацией:

version: "2.1"
services:
    # Kafka/Zookeeper container
  kafka:
    build: kafka/
    container_name: kafka
    environment:
      - ADVERTISED_HOST=localhost
      - LOG_RETENTION_HOURS=1
      - AUTO_CREATE_TOPICS=false
      - KAFKA_CREATE_TOPICS=divolte:4:1
    ports:
      - 9092:9092 # kafka broker
      - 2181:2181 # Zookeeper
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
  # Divolte container
  divolte:
    image: divolte/divolte-collector
    container_name: divolte
    environment:
      - DIVOLTE_KAFKA_BROKER_LIST=localhost:9092
    volumes:
      - ./conf/divolte/:/opt/divolte/divolte-collector/conf/
    ports:
      - 8290:8290
    depends_on:
      - kafka
    links:
      - kafka:kafka

И я получаю следующую ошибку каждый раз. Все остальное работает нормально.

kafka       | 2020-03-27 21:46:33,260 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
kafka       | 2020-03-27 21:46:33,260 INFO Included extra file "/etc/supervisord.d/initialize.ini" during parsing
kafka       | 2020-03-27 21:46:33,260 INFO Included extra file "/etc/supervisord.d/kafka.ini" during parsing
kafka       | 2020-03-27 21:46:33,260 INFO Included extra file "/etc/supervisord.d/zookeeper.ini" during parsing
kafka       | /usr/lib/python3.6/site-packages/supervisor/options.py:471: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
kafka       |   'Supervisord is running as root and it is searching '
kafka       | Error: Cannot open an HTTP server: socket.error reported errno.ENOENT (2)
kafka       | For help, use /usr/bin/supervisord -h

Кстати, я пытаюсь проверить с этого сайта: https://godatadriven.com/blog/real-time-analytics-divolte-kafka-druid-superset/

Я пытался исправить безуспешно (попытался изменить разрешения и каталоги)

Спасибо за помощь.

1 Ответ

0 голосов
/ 28 марта 2020

Это никогда не сработает.

- DIVOLTE_KAFKA_BROKER_LIST=localhost:9092

Вы указываете контейнеру divolte указывать на сам . Это должно быть как минимум kafka:9092. И вы должны изменить ADVERTISED_HOST контейнера Kafka, чтобы объявить его имя хоста .

  kafka:
    build: kafka/
    container_name: kafka
    hostname: kafka  # added
    environment:
      - ADVERTISED_HOST=kafka  # changed
      - LOG_RETENTION_HOURS=1
      - AUTO_CREATE_TOPICS=false
      - KAFKA_CREATE_TOPICS=divolte:4:1
    ports:
      - 9092:9092 # kafka broker
      - 2181:2181 # Zookeeper

См. Ответ - Подключитесь к Kafka, работающему в Docker

Также - Старайтесь не запускать Zookeper и Kafka на одном изображении только для удобства. Это работает лучше, когда они разделены.

...