今天在本机启动springboot项目并访问kafka服务的时候发现如下报错:

2022-01-12 10:53:34.843  WARN 69212 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
2022-01-12 10:53:34.844  WARN 69212 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1] Bootstrap broker 127.0.0.1:9092 (id: -1 rack: null) disconnected

问题分析:

根据报错信息可知,这是因为服务读取到的kafka服务ip地址是 127.0.0.1:9092 ;然而我的配置文件明明是这样的:

一直找不到是什么原因,因为整个项目中都找不到127.0.0.1:9092的关键字!!!

直到后来突然想起来这个springboot项目加入了微服务框架,因此启动后会注册到Naocs注册中心去成为一个微服务的;于是我去看了一下Nacos的配置中心,终于发现了原因:

显然,项目注册到Nacos之后,用到了这个xxx-dev.yaml配置文件!当项目的applicaition配置文件和nacos配置文件具有相同的配置属性时,优先使用nacos配置文件的,也就是说 nacos配置文件会覆盖项目的applicaition配置文件中,相同的配置属性

解决方法:

1、把nacos配置文件中的kafka配置去掉后,点击发布,如:

2、把nacos配置文件中的kafka配置ip修改为和项目的application配置文件一致后,点击发布,如:

重启项目再次访问kafka成功:

2020-08-19 22:55:56.089 WARN [-,,,] 35672 --- [ad | pro ducer -1] org.apache. kafka . client s.Network Client : [ Pro ducer client Id = pro ducer -1] Error while fetching metadata with correlation id 483 : {abc_001=LEADER_NOT_AVAILABLE} 2020-08-19 22:55:56.205 WARN. 使用win7用 id ea进行 kafka 进行生产者消费者远程连接时 [ kafka - pro ducer -network-thread | pro ducer -1] WARN org.apache. kafka . client s.Network Client - [ Pro ducer client Id = pro ducer -1] Connec tion to node -3 could not be establis... 记录Centos7安装 Kafka ,启动生产者报错 WARN [ Pro ducer client Id =console- pro ducer ] Connec tion to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache. kafka . client s.Network Client ) 使用命令行启动生产者: bin/ kafka -console- pro ducer .sh -- 2018-11-10 17:03:06,060] WARN [ Pro ducer client Id = pro ducer -1] Connec tion to node -1 could not be established. Broker may not be available. (org.apache. kafka . client s.Network Client ) [2018-11-10 17:03:06,... kafka 生产者一直报报警(启动后需要等一会才会报): [2019-10-11T16:31:46,395][WARN ][o.a.k.c.Network Client ] - [ Pro ducer client Id = pro ducer -1] Boot strap broker ip:9092 ( id : -3 rack: null) dis connec ted 原因: kafka - client jar包... kafka 发送数据报错: Error connec ting to node xxxxx:9092 ( id : 1 rack: null)java.net.UnknownHostExceptio 不多BB讲原理,只教你怎么用,看了全网没有比我更详细的了,yml 配置 ,Config 工厂代码 配置 都有,batch-size、acks、offset、auto-commit、trusted-packages、poll-timeout、linger 应有尽有,批量消费、开启事务、定义批量消费数量、延时发送、 失败 重试、异常处理你还想要什么As we all know,当今世界最流行的消息中间件有 RabbitMq、RocketMq、 Kafka ,其中,应用最广泛的是RabbitMq,RocketMq。 yml中 配置 boot strap-servers: 服务 器地址:9092,但是连接时却报了 Connec tion to node -1 (localhost/127.0.0.1:9092) could not be established.