关于kafka的Connection to node -1 could not be established. Broker may not be available.

1. spring远程连接linux中的kafka

本人在虚拟机上跑了一个kafka,在命令行上使用kafka的命令都没有任何问题,可以正常生产和消费。但是使用springcloud远程连接kafka报错。

经查证:kafka没有对外开放访问的host地址和端口

在kafka的启动配置server.properties中,下面这一样被注释了

#     listeners = PLAINTEXT://your.host.name:9092

修改为:192.168.48.142是kafka所在服务器的IP

listeners=PLAINTEXT://192.168.48.142:9092

至此,spring远程kafka连接成功

2. 问题:kafka创建本机消费者

接着以上问题
在kafka的主机中使用

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

产生如下bug

[2019-08-28 04:43:05,377] WARN [Consumer clientId=consumer-1, groupId=console-consumer-85940] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

上面的方法虽然可以让spring正常通过网络连接kafka,但是本机连接方式确实失效了

kafka主机正确shell命令

kafka-console-consumer.sh --bootstrap-server 192.168.48.142:9092 --topic test --from-beginning

消费成功
在这里插入图片描述

至此,spring作为远端的生产者,本机shell创建消费者打通

你可能感兴趣的:(kafka)