kafka消费者java版本读取不到消息怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka消费者java版本读取不到消息怎么办相关的知识,希望对你有一定的参考价值。

参考技术A Kafka的生产者和消费者都可以多线程地并行操作,而每个线程处理的是一个分区的数据。因此分区实际上是调优Kafka并行度的最小单元。对于producer而言,它实际上是用多个线程并发地向不同分区所在的broker发起Socket连接同时给这些分区发送消息;而consumer呢,同一个消费组内的所有consumer线程都被指定topic的某一个分区进行消费(具体如何确定consumer线程数目我们后面会详细说明)。所以说,如果一个topic分区越多,理论上整个集群所能达到的吞吐量就越大。

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消费者java版本读取不到消息怎么办的主要内容,如果未能解决你的问题,请参考以下文章

java kafka 怎么传输对象

关于怎么获取kafka指定位置offset消息

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

多个 Kafka 消费者可以从分区中读取相同的消息吗

Kakfa怎么保证消息的一致性

【大数据技术】kafka简介和底层实现