kakfa 常见错误(长期更新)

简介: kakfa 常见错误(长期更新)

一、消费者相关

1.1 消费组

1.1.1 查看消费组命令找不到消费组

详情: 运行以下命令后,控制台界面无任何输出

kafka-consumer-groups.sh --bootstrap-server 192.168.2.83:9092 --list

如下图:

1.png

解决方法:
指定消费者群组进行消费,成功消费后将自动创建所指定的消费者群组。

springboot指定消费者群组:消费者配置类添加下面代码(消费者配置类可查看springboot连接kafka

props.put(ConsumerConfig.GROUP_ID_CONFIG, "kakfa-test");

结果如图:

2.png

1.2 主题

1.2.1 kafka默认主题_consumer_offsets 不小心删除

详情: 删除了_consumer_offsets主题

如下图:

3.png

解决方法

  • 重新创建主题 __consumer_offsets
bin/kafka-topics.sh --bootstrap-server 192.168.2.86:9092 --topic __consumer_offsets --create
  • 重启kafka服务
  • 进行查看

    结果如图,可以看到主题__consumer_offsets:

4.png

不成功的检查一下 kafka 服务配置 ,添加:

auto.create.topic.enable=true

二、发布者相关

三、Spring Boot连接相关

3.1 消费者相关

3.1.1 连接报错

详情: springboot启动后连接kafka集群报错:协调器不正确,标记协调器未知。

Request joining group due to: rebalance failed due to 'This is not the correct coordinator.' (NotCoordinatorException)

如下图:

5.png

解决方法

该问题出现原因一般是因为消费者类配置不正确,或提供group id 有问题。若不清楚group id请显示的指定分区,避免将错误的group id写入。

 @KafkaListener(topicPartitions  =   { @TopicPartition(topic = "kafka-topic-test", partitions = { "0", "8" })
    })

3.1.1.2 消费报错

详情: 消费成功,但报错 This error handler cannot process 'org.apache.kafka.common.errors.InvalidGroupIdException's; no record information is available

如下图:
6.png

解决方法

这个提示很明显,没有提供可用的 group id。我们只需要在消费者配置中设置一个即可,这个错误的原因是未设置group id,但又使用了subscribe(topic) 或基于 Kafka 的偏移量管理策略使用组管理功能引起。

3.1.3 数据过期

报错信息org.apache.kafka.common.errors.TimeoutException: Expiring 10 record(s) for 主题名-0:120013 ms has passed since batch creation

报错原因:某些记录放入队列的速度比从客户端发送的速度快。
原因分析:生产者发送消息时,它们会存储在缓冲区中(在将它们发送到目标代理之前),并且记录会分组在一起以提高吞吐量。当新记录添加到批次中时,必须在可配置的时间窗口内发送,该时间窗口由 控制request.timeout.ms(默认设置为 30 秒)。如果批次在队列中的时间较长,则会抛出TimeoutException ,然后批次将记录从队列中删除,并且不会传递给代理。
解决方法: 增加 request.timeout.ms 的值,或者 减少 batch.size的值,然后使 linger.ms 为 0 ,重启 kafka

备注:如果这些都无效!兄弟,你得看看网络了。
目录
相关文章
|
6月前
|
测试技术
线上问题,如何处理?
线上问题,如何处理?
166 37
|
3月前
|
消息中间件 存储 Shell
就软件研发问题之使用mqadmin工具拷贝授权信息到新Broker的问题如何解决
就软件研发问题之使用mqadmin工具拷贝授权信息到新Broker的问题如何解决
|
6月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
负载均衡 算法 测试技术
通用快照方案问题之灰度发布中实现用户请求到新旧版本服务的分流如何解决
通用快照方案问题之灰度发布中实现用户请求到新旧版本服务的分流如何解决
45 0
|
4月前
|
存储 缓存 NoSQL
架构设计篇问题之在数据割接过程中,多线程处理会导致数据错乱和重复问题如何解决
架构设计篇问题之在数据割接过程中,多线程处理会导致数据错乱和重复问题如何解决
|
4月前
artts升级版本后常见的编译错误(定期更新......)
artts升级版本后常见的编译错误(定期更新......)
99 0
|
5月前
|
消息中间件 监控 安全
探究Kafka主题删除失败的根本原因
探究Kafka主题删除失败的根本原因
53 0
|
6月前
|
SQL Kubernetes 数据处理
实时计算 Flink版产品使用合集之遇到的binlog文件短时间内增加很多导致的任务失败如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
Java 数据库连接 API
对象变更记录objectlog工具(持续跟新)
记录单个对象属性变化的日志工具,工具采用spring切面和mybatis拦截器相关技术编写了api依赖包,以非侵入方式实现对标记的对象属性进行记录,仅需要导入依赖即可,几乎不需要对原系统代码改动.
|
安全 关系型数据库 MySQL
为什么延迟复制适用于备库数据的紧急恢复?底层原理是什么?
为什么延迟复制适用于备库数据的紧急恢复?底层原理是什么?
120 0