Я начинаю с Apache Kafka, и у меня возникают проблемы, когда я пытаюсь подключиться к внешней машине.
С приведенной ниже конфигурацией все работает нормально, если приложение и докер работают на одном компьютере.
но когда я помещаю приложение на машину A и докер на машину B, приложение не может подключиться.
В моем весеннем Kafka @Configuration есть эта строка для @Bean consumerFactory и ProducerFactory (представьте мою машину с docker ip = 10.10.10.10)
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "10.10.10.10:9092");
И мой файл докеров такой:
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper:3.4.6
ports:
- 2181:2181
kafka:
image: wurstmeister/kafka:0.10.1.1
environment:
KAFKA_ADVERTISED_HOST_NAME: 0.0.0.0
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "topic-jhipster:1:1,PROCESS_ORDER:1:1, PROCESS_CHANNEL:1:1"
JMX_PORT: 9999
KAFKA_JMX_OPTS: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=9999"
ports:
- 9092:9092
- 9999:9999
kafka-manager:
image: sheepkiller/kafka-manager
ports:
- 9000:9000
links:
- zookeeper
environment:
ZK_HOSTS: zookeeper:2181
я получаю эту ошибку:
org.springframework.kafka.core.KafkaProducerException: Failed to send;
nested exception is org.apache.kafka.common.errors.TimeoutException:
Expiring 1 record(s) for
Отредактируйте, добавьте информацию ..
Я думаю, что это какая-то конфигурация zookeeper, которую мне не хватает .. потому что, если бы у меня только zookeeper запустился на моей машине A .. и kafka на машине B .. это работает .. я только не знаю как :(