如何解决Kafka:节点发送了无效的完整获取响应,并附加了
我有一个应用程序,可以处理来自4个kafka主题的消息。为了简单起见,我们将其称为主题:a
,b
,c
,d
。该应用程序的每个新版本都使用新的使用者组ID(基本上是docker映像ID)。
今天,我遇到了一个问题:新版本的应用程序启动时,新的消费群体与a
,b
,d
(而非c
)连接话题。在Kafka经理看来,新的消费群体没有主题c
的条目。
我可以在客户端错误日志中看到错误
Consumer clientId=indexer,groupId=650-c6ac848] Node 331 sent an invalid full fetch response with extra=(a-28,response=(c-28","logger_name":"org.apache.kafka.clients.FetchSessionHandler","thread_name":"kafka-coordinator-heartbeat-thread
我怀疑这可能是基础架构/配置问题,但我不确定。我是一名开发人员-我对Kafka不太熟悉,所以我不在哪里看。应用程序代码更改很小,不应影响使用者组的设置。
发送给我的日志消息表明与心跳有关,并且主题a
和c
的联系有所不同。
server.properties ..
advertised.listeners=PLAINTEXT://kafka1.dub1.cloud:9092
auto.create.topics.enable=false
broker.id=16
broker.rack=dub1-zone4
default.replication.factor=3
delete.topic.enable=true
group.initial.rebalance.delay.ms=3
log.dirs=/var/lib/kafka
log.retention.check.interval.ms=300000
log.retention.hours=168
log.segment.bytes=1073741824
min.insync.replicas=2
num.io.threads=8
num.network.threads=3
num.partitions=30
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=3
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
socket.send.buffer.bytes=102400
transaction.state.log.min.isr=2
transaction.state.log.replication.factor=3
unclean.leader.election.enable=false
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
zookeeper.connection.timeout.ms=6000
看看源代码对初学者没有帮助
任何有关如何进一步诊断此问题的建议将不胜感激。
解决方法
发现主题c
必须要发送消息,这似乎是我看到错误的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。