通過命令行工具(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改為如下屬性。192.168.57.200是我虛擬機的IP。改完后重啟,OK了。Java端的代碼終於能通信了
advertised.listeners=PLAINTEXT://192.168.57.200:9092