【发布时间】:2020-12-07 10:54:22
【问题描述】:
我已经在主机 A (192.168.1.200) 的 docker 中构建了 Kafka 和 Zookeeper,并且已经设置了这些环境
KAFKA_ADVERTISED_LISTENERS=INSIDE://kafka-broker:9093,OUTSIDE://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS=INSIDE://kafka-broker:9093,OUTSIDE://kafka-broker:9092
KAFKA_INTER_BROKER_LISTENER_NAME=INSIDE
KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
然后当我尝试从其他主机-B (IP 192.168.1.8) 连接到引导服务器时,无法建立连接。 9092 端口已经暴露在外面,我可以从 host-B 远程登录。
[root@node-B kafka]# ./bin/kafka-topics.sh --create --topic hehe --bootstrap-server 192.168.1.200:9092 --partitions 3
[2020-12-07 16:42:22,262] WARN [AdminClient clientId=adminclient-1] Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
但是当我尝试从host-B连接到zookeeper服务器时,它也可以连接并创建主题
[root@node-B kafka]# ./bin/kafka-topics.sh -zookeeper 192.168.1.200:2181 --create --topic dummytopic --partitions 1 --replication-factor 1
Created topic dummytopic.
我也可以使用引导服务器从主机 A 创建主题
[root@node-A kafka] #./bin/kafka-topics.sh --bootstrap-server 192.168.1.200:9092 --create --topic testopic --partitions 1 --replication-factor 1
Created topic testopic.
有没有我遗漏的配置?
【问题讨论】:
标签: docker apache-kafka