我为kafka(wurstmeister / kafka-docker)构建了一个docker镜像。在docker容器内部,我能够使用内置shell脚本创建主题,生成消息和使用消息。现在我使用https://github.com/mapr-demos/kafka-sample-programs托管的代码从我的主机连接到kafka代理。在构建和运行程序后,没有任何事情发生,程序卡住了。我猜producer.send无法连接到kafka经纪人。任何帮助表示赞赏
答案 0 :(得分:1)
您可以看到该项目中的consumer.properties
和producer.properties
文件都指定了bootstrap.servers=localhost:9092
。
由于您无法使用localhost:9092
连接到dockerized kafka服务,因此您可以尝试使用例如docker inspect kafka | grep IPA
来查找docker容器的IP地址(假设您的容器名称)是kafka
)。然后将localhost
替换为这两个属性文件中的IP地址。
答案 1 :(得分:1)
我正在使用ches / kafka docker image。看看KAFKA_ADVERTISED_HOST_NAME的解释。