报错情况:
虚拟机上服务器使用生产者和消费者以localhost可以发布消费消息,但是本机使用localhost报错!!!
解决方案:
设置kafka配置文件中的advertised.listeners属性!注意,该属性才是对应外网的监听属性!修改后:
# 允许外部端口连接
listeners=PLAINTEXT://:9092
# 外部代理地址
advertised.listeners=PLAINTEXT://192.168.130.130:9092
192.168.130.130是我虚拟机服务器自己的地址,可使用ifconfig命令查看
同时,本地java程序生产者设置的bootstrap.servers对应值也改为:192.168.130.130:9092
OK!!!