В настоящее время я пытаюсь переместить мои приложения Kafka в кластер Docker.Я нахожусь на CentOS 7. Мой файл составления Docker выглядит следующим образом:
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "21700:2181"
kafka:
image: wurstmeister/kafka
ports:
- "21600:9092"
environment:
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "syslog-input:1:1,rt1:1:1,output:1:1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
syslog_server_tcp:
build: .
ports:
- "21500:21500"
command: SyslogServerTCP -p 21500 -b kafka:9092 -t testowy
generic:
build: .
command: KafkaEnrichmentApp a cos rt1 syslog-input output kafka:9092
Служба SyslogServerTCP - это небольшое приложение, которое прослушивает входящие TCP-сообщения и передает их в кластер Kafka по определенной теме.по-т.Так что в этом случае - testowy.Однако есть две проблемы с такой настройкой:
Когда сообщение попадает в кластер через службу syslog_server_tcp, оно, по-видимому, передается в кластер - создается новая тема (автоматическое создание темы включено), но сообщения не передаются в тему.В чем может быть причина?Я вижу вновь созданную тему, но она пуста.
Иногда весь кластер случайным образом перестает отвечать.Я могу войти в оболочку zookeeper, просмотреть созданного посредника, но новых сообщений журнала из кластера нет, а сообщения, которые я отправляю на серверную службу, не обрабатываются.Моя конфигурация правильная?