我開始使用Apache Kafka,並且當我試圖從外部機器連接時遇到問題。無法從外部機器連接到kafka
使用下面的配置,如果應用程序和docker在同一臺機器上運行,所有工作正常。
但是當我把應用程序放在機器A和docker在機器B時,應用程序無法連接。
我的春天卡夫卡@Configuration這行到@Bean consumerFactory和producerFactory(想象我的機器搬運工的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
編輯,添加一些信息..
我認爲它關於動物園管理員的任何配置我錯過了...因爲如果我只有動物園管理員開始在我的機器A ..和在機器B ..卡夫卡..工作..我只知道不知道如何:(
也許防火牆嗎? –
@EvgeniDimitrov不,這就行了。我認爲它的任何配置關於zookeper我錯過..因爲如果我只有動物園管理員開始在我的機器A ..和在機器B .. kafka ..工程..我只不知道如何:( –