kafka 问题集合

The configured groupId is invalid

1、问题描述:

The configured groupId is invalid

字面意思,kafka消费者配置的 groupId 非法,这玩意还有不合法?无非是没指定 groupId 吧? —— 当然不是,如果是因为没有写 groupId 而引起这个问题,那根本不值得去写一编日志了。

groupId 当然是指定的,但为什么还是报了这个错误呢。。。其实原因是没有找到的,但有一个可用版本,一个不可用版本,于是猜测其中可能的原因?

 

2、问题背景

springboot: 1.5.7.RELEASE (有够老的对不对,老项目,没办法。。。这也是这个项目让人头疼的原因)

springcloud: Dalston.SR3

spring-kafka: springboot 指定版本, 好像是 1.1.6.RELEASE

 

3、逐渐找原因

这个是项目上出现的问题,在整合springboot + kafka 之前,我做过另外一个demo, 好用得很。但放到项目上的时候,就出现了水土不服的各种情况就出现了,真的超级多问题,以至于我觉得kafka就是一个坑,为什么还会有人用kafka,其它MQ产品,它不香吗,也不用依赖ZK,用kafka,图什么。。害。(会有这样的疑惑,并且没办法解决,也是因为我对kafka和其它的MQ产品没有一个比较好的横向比较)

说回正题

为什么一个好一个不行呢,差别在哪里,差别就在于一个是 springboot 2.3.5.RELEASE, 一个是 springboot 1.x 。 这可能就是区别!

真是一个让人极度无语的“事故”, 多少问题源于版本不匹配,各种搞来搞去,真的是烦死人。

好了,那既然知道是版本引起的差异,就在 demo 上把版本降下来吧,好嘛,问题果然出现了——版本不兼容,写法可能也不同。

 

4、写法不同,那就改写法

网上查了一下, springboot 1.x 整合kafka 的写法,嗯,果然不一样

springboot 1.x 是需要写 kafkaProducerConfig 和 kafkaConsumerConfig 的。它能够读取到配置,但不知道为啥还报这个错(可能得跟一下代码才行,虽然现在并没有这样的心情)。

OK, 那就按他的写法来写了。发现,竟然可以了,淦。

 

5、剩余的问题

问题还没有被完全解决,一个是配置都写在代码上了,所以,肯定还得写一个配置项,去读取配置才行。

KafkaConfig 读取配置,这样应该就差不多了

然后,纯配置文件的写法,为什么没读取到。这个问题,还得找找,跟一下源码才行

 

这个问题先这样子。

 

 

 

 Replication factor: 1 larger than available brokers: 0

不得不说, kafka 是真的好娇贵。动不动就报错,还是停不下来的那种。不得不感觉。。。很难用。

网上说,是kafka还没有启动成功,就开始去操作了,比如创建topic什么的。。。

 

过程是这样子的,改了一 config/server.proerties

 

本来是这样子的

#listeners=PLAINTEXT://127.0.0.1:9092
listeners=PLAINTEXT://10.9.13.8:9092
#listeners=PLAINTEXT://:9092

 

改成这样后,

#listeners=PLAINTEXT://127.0.0.1:9092
#listeners=PLAINTEXT://10.9.13.8:9092
#listeners=PLAINTEXT://:9092

就不行了。神奇。。。。

 

换回来,就好了

记录一下,这该死的kafka。太难用了吧。

这个配置为什么会有影响?还是说第一次和第二次配置不能不同?如果忘记了这个配置项,那玩啥。。迷惑不可终日

 

 

为什么在 zk 里面的 consumers 看到不我的消费者呢。。。

又是哪里的问题啊,在zk 里面看不到 consumers。。。但topics 又有。。

 

posted @ 2022-02-23 15:25  aaacarrot  阅读(220)  评论(0编辑  收藏  举报