kafka-Consumer Group 不消费问题
一.问题现象:go 客户端简单consumer 模式可以消费go客户端consumer group模式不可消费,客户端运行到一下代码卡住<-consumer.ready // consumer一直没有readyfmt.Println("Sarama consumer up and running!...")java客户端不可消费客户端每次poll不到数据,没有日志输出ConsumerReco
一.问题现象:
go 客户端简单consumer 模式可以消费
go客户端consumer group模式不可消费,客户端运行到一下代码卡住
<-consumer.ready // consumer一直没有ready fmt.Println("Sarama consumer up and running!...")
java客户端不可消费
客户端每次poll不到数据,没有日志输出
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(1000)); //每次poll到0条数据
二.排查过程:
1.java客户端开启debug日志,查询debug日志
debug日志显示,找不到协调器(ConsumerCoordinator)
2.查询kafka服务端日志
[2020-10-21 13:01:53,464] ERROR [KafkaApi-0] Number of alive brokers '2' does not meet the required replication factor '3' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis)
3.查询kafka的log文件夹
没有__consumer_offsets文件,说明offsets这个topic没有创建成功
三.原理:
1.consumer group的创建需要__consumer_offsets这个topic的创建,用来保存每个consumer成员提交的offsets
四.解决方案及注意:
1.offsets.topic.replication.factor默认为3.所有broker数量需要大于3
2.如果broker数量小于3,则需要设计offsets.topic.replication.factor小于等于broker数量
更多推荐
所有评论(0)