【发布时间】:2018-04-19 23:05:20
【问题描述】:
我在 linux 机器上有 docker,在那里我下载了 kafka 版本 1.1.0,我还运行了一个 zookeeper 容器并公开了 2181 端口,我将 server.properties 的 zookeeper.connect 更改为 zookeeper容器,我创建了一个包含 kafka 的图像,这是我的 dockerfile:
FROM openjdk:8
WORKDIR /app
ADD kafka_2.11-1.1.0 /app
ENTRYPOINT bin/kafka-server-start.sh config/server.properties
创建映像后,我运行我的 kafka 容器,一切正常,我的问题是当我尝试从外部生产者发送消息时,消息永远不会到达,我搜索此错误并找到了此 link我需要配置advertised.host.name 和advertized.port,但是在更改这些属性并尝试运行我的kafka 容器后,我得到下一个错误:
kafka.common.KafkaException: Socket server failed to bind to ip:9092: Cannot assign requested address.
我也尝试使用此属性:
listeners=PLAINTEXT://ip:9092
但是我得到了同样的错误,如果我没有对 kafka 进行任何更改并且我尝试从我的 spring boot 应用程序发送一条消息,我会得到这个错误:
org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for prueba-0: 30041 ms has passed since batch creation plus linger time
有人可以帮我解决这个问题吗?
提前致谢。
【问题讨论】:
标签: apache-kafka