当前位置: 首页 > 知识库问答 >
问题:

Kafka-在Linux和Windows之间创建代理侦听器时出错

陆飞鸿
2023-03-14

我们正在尝试使用apache Kafka从Linux向windows发送消息;Zookeeper和Kafka都配置在操作系统和消息传递中,发生在各自的本地主机上;

从windows向Linux发送消息时出错;

错误-向主题my_topic发送消息时出错,键为null,值为5字节,错误为:(org.apache.kafka.clients.producer.internals.errorLoggingCallback)org.apache.kafka.common.errors.TimeoutException:60000 ms后主题my_topic不在元数据中。

[20-10-09 11:24:28,979]警告[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个人,并成功地通过本地主机发送消息。假设通过Kafka可以实现跨操作系统的实时消息传递。请改正。

共有1个答案

徐凌
2023-03-14

您需要配置advertised.listeners,以便Windows客户端能够正确连接到Linux代理。

如果Linux代理具有IP172.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-cannel-connect-to-broker-on-aws-on-docker-etc

 类似资料:
  • 我们有web服务(jaxws),它正在调用另一个web服务(aslo jaxws)。Jaxws客户端配置如下所示-- 正如您所看到的,我们有两个拦截器和一个故障侦听器。我们希望在这些拦截器、故障侦听器和web服务代码之间进行通信。正如SO线程中所述,我们使用cxf交换对象在web服务和拦截器之间进行通信。 我们的inFaultInterceptor代码如下所示-- } Web服务代码如下所示- 但

  • 问题说明:

  • 我有一个关于正确配置kafka侦听器属性的问题-侦听器和advertised.listers。 在我的配置中,我设置了以下道具: 客户端使用 进行连接。我是否需要在侦听器和广告侦听器中具有相同的值。这里 是指向运行 kafka 代理的主机的 dns 记录。 在什么情况下,我希望它们保持不变和不同? 谢谢!

  • 问题内容: 我试图区分侦听器和适配器。 它们是否几乎相同,但是在侦听器中,您必须实现接口中的所有方法,但是对于适配器,您可以选择仅实现所需的方法,从而使代码更简洁,更易于阅读? 我还被告知适配器只能通过一种实现实现实例化,而您不能实例化侦听器,我对此并不完全了解。 有人可以解释使用哪一种更好,而另一种却不能用吗? 问题答案: WindowListener是强制您使用所有方法的方法,而WindowA

  • 要运行Kafka,需要在文件。有两种设置我不理解。 有人可以解释侦听器和广告侦听器属性之间的区别吗? 留档说: 侦听器:套接字服务器侦听的地址。 和 advertised.listeners:主机名和端口代理将向生产者和消费者做广告。 我什么时候必须使用哪个设置?

  • 问题内容: 我正在为项目使用串行设备,而我要在PC端完成的工作是侦听串行设备发送的命令,解释查询,根据查询运行一些代码,然后传回结果。 老实说,我尝试使用PHP作为侦听器,并且它可以工作,不幸的是,使脚本充当接收器所需的无限循环将CPU负载为25%。因此,这并不是真正的最佳选择。 我现在正在使用cygwin,我想使用linux本机命令创建一个bash脚本。 我可以使用以下方式接收数据: 并发送以下