kafka通过控制台模拟消息发送和消息接收正常,但是通过javaAPI操作生产者发送消息不成功 消费者接收不到数据解决方案?

Posted $王大少

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka通过控制台模拟消息发送和消息接收正常,但是通过javaAPI操作生产者发送消息不成功 消费者接收不到数据解决方案?相关的知识,希望对你有一定的参考价值。

通过命令行工具(kafka-console-producer.sh和kafka-console-consumer.sh)是能够相互通信的,producer发布的信息consumer能够接收到。

但是
java通过kafka-client的API写的代码始终不能跟kafka通信:java producer的消息发不出去, java comsumer也收不到任何消息。
仔细检查了下代码中IP、端口都没有写错。

解决办法
将kafka/config/server.properties文件中advertised.listeners改为如下属性。192.168.57.200是我虚拟机的IP。改完后重启,OK了。Java端的代码终于能通信了
advertised.listeners=PLAINTEXT://192.168.57.200:9092

以上是关于kafka通过控制台模拟消息发送和消息接收正常,但是通过javaAPI操作生产者发送消息不成功 消费者接收不到数据解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

java客户端向单机版kafka发送消息没有接收到

kafka概念原理

java实现kafka发送消息和接收消息(java无注解方式+springBoot注解方式)

如何通过kafka控制台生产者发送密钥,价值消息

Apache Kafka:简单的命令行操作topic实现消息发送和接收

在 kafka 控制台上无法输入大小超过 4095 个字符的消息