kafka版本: kafka_2.11-0.10.0.0

spark版本: 2.2.0

scala版本: 2.11.8

问题:

在kafka服务器命令行producer发送消息,消费者consumer可以接受到消息。

woindos下spark程序消费kafka消息, 没有接受到消息。

 解决方案:

1.查看本机与kafka服务器ip映射关系

2.更改配置文件

在kafka/config/sever.properties把这个注解打开

advertised.listeners=PLAINTEXT://ip:9092        #本机服务器ip

意思就是说:hostname、port都会广播给producer、consumer。如果你没有配置了这个属性的话,则使用listeners的值,如果listeners的值也没有配置的话,则使用 
java.net.InetAddress.getCanonicalHostName()返回值(这里也就是返回localhost了)。