记一次kafka无法生产发送消息排查经历
参考,欢迎点击原文:https://stackoverflow.com/questions/37902167/kafka-error-while-fetching-metadata-with-correlation-id-leader-not-available(老外启示)
https://blog.csdn.net/wt1286331074/article/details/121033464(自己写的记录)
https://www.cnblogs.com/riches/p/11720068.html(结合springboot使用教程)
今天有空准备把关于kafka那块知识完善掉,之前是把他run起来了,还没有与spring boot结合起来使用
问题情况:
按照教程首先引入pom,然后自己引用kafkaTemplate,直接调用send方法基本就可以发送了,然而还是踩坑了,idea报WARN Error while fetching metadata with correlation id 1 : {TRAIL_TOPIC=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
,然后一直不断的重试
解决过程:
- 首先看到这个报错我看不太懂啥意思,第一反应就是找百度,然后百度给我整了一堆说传送门修改链接地址,那时我就纳闷了地址我之前就改好了呀,而且能起来了的
- 接着看到个国外老哥说的可能是需要配置下允许自动新增topic,emmm反正我是没找到哪里可以配置这个的,于是我按照命令行的形式在kafka容器里新建个topic:
/opt/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.91.66:2181 --replication-factor 1 --partitions 1 --topic testTopic
,发现成功是成功了,但是idea那依然报 - 这时我想就看日志吧,可能日志上有啥可以深究的,打开logs文件夹发现好多种日志类型,如图1-1,我就看了最有可能的server.log-11-15,看到基本都是这个报错如图1-2,这意思我懂,就是说不能连上broker,仔细一瞧发现ip是70结尾的,额。。。咱们公司分配的ip会变得,因为kafka配置时候使用的是固定ip,这个ip明显是上次用的,so,查看现在的ip,再重新run个新的容器就可以啦
总结:
这一次找这个问题花费了靠三个小时,其实反应快的三分钟就解决掉了,无非是,看容器日志,发现IP不对,解决。
以后长个记性吧
tip:最近发现csdn广告越来越多了,有些文章还要开会员才能看,太恶心了一点没有开源精神,决定晚点时候搬个家,csdn暂时先拜拜了~