kafka javaAPI无法生产和消费消息,控制台可以的解决方法
问题:通过命令行工具(kafka-console-producer.sh和kafka-console-consumer.sh)是能够相互通信的,producer发布的信息consumer能够接收到。但是java通过kafka-client的API写的代码始终不能跟kafka通信:java producer的消息发不出去, java comsumer也收不到任何消息。仔细检查了下代码中IP、端口都没有写错。
解决方案:将kafka/config/server.properties文件中advertised.listeners改为如下属性。advertised.listeners=PLAINTEXT://阿里云公网IP:9092,改完后重启,OK了。Java端的代码终于能通信了.
注:被网上一些傻逼坑死。非说是阿里云私网IP,害我折腾2天,还有注意是advertised.listeners属性,不是listeners,如果改错了会导致服务起不来。