我开始使用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 ..工程..我只不知道如何:( –