Kafka - 在 Linux 和 Windows 之间创建代理侦听器时出错
Posted
技术标签:
【中文标题】Kafka - 在 Linux 和 Windows 之间创建代理侦听器时出错【英文标题】:Kafka - Error creating broker listeners between Linux and Windows 【发布时间】:2021-01-26 15:20:47 【问题描述】:我们正在尝试使用 apache Kafka 从 Linux 向 Windows 发送消息; Zookeeper 和 Kafka 在操作系统和消息传递中都配置在各自的 localhost 中;
从 Windows 向 Linux 发送消息时出错;
错误 - 错误 向主题 my_topic 发送消息时出错,键:null,值:5 个字节,错误:(org.apache.kafka.clients.producer.internals.ErrorLoggingCallback) org.apache.kafka.common.errors.TimeoutException:主题 my_topic 在 60000 毫秒后不存在于元数据中。
[2020-10-09 11:24:22,903] WARN [Producer clientId=console-producer] 获取相关 ID 为 51 的元数据时出错:my_topic=LEADER_NOT_AVAILABLE (org.apache.kafka.clients.NetworkClient) 终止批处理作业 (Y/N)?
[20-10-09 11:24:28,979] WARN [Consumer clientId=consumer-1, groupId=console-consumer-56715] 获取相关 ID 为 81 的元数据时出错:my_topic=LEADER_NOT_AVAILABLE (org.apache .kafka.clients.NetworkClient) 共处理0条消息
Listed below are the configuration files for Linux server endpoint
#producer properties
metadata.broker.list=localhost:9092,192.168.1.3:9092,192.168.0.103:9092
#consumer properties
zookeeper.connect=127.0.0.1:2181,192.168.1.3:2181,192.168.0.103:2181
#consumer group id
group.id=test-consumer-group
#server properties
broker.id=1
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://192.168.1.3:9092,192.168.0.103:9092
zookeeper.connect=localhost:2181
#192.168.0.103 is windows machine
#172.22.3.28 is Linux machine
Windows producer –
kafka-console-producer.bat --broker-list 172.22.3.28:9092 --topic my_topic
Linux Consumer-
bin/kafka-console-consumer.sh --new-consumer --bootstrap-server 192.168.0.103:9092 --topic my_topic --from-beginning
我们开始在 linux 和 windows 中配置 kafka 个人并成功通过 localhost 发送消息。 假设使用 kafka 可以跨操作系统进行实时消息传递。请更正。
【问题讨论】:
您如何从子网 192.xxx 连接到 172.xxx? 【参考方案1】:您需要配置advertised.listeners
以便Windows 客户端可以正确连接到Linux 代理。
如果 Linux 代理的 IP 为 172.22.3.28
,则配置应如下所示:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://172.22.3.28:9092
参考:https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc
【讨论】:
以上是关于Kafka - 在 Linux 和 Windows 之间创建代理侦听器时出错的主要内容,如果未能解决你的问题,请参考以下文章