Kafka控制台发送消息报错

问题如下:问题描述:ERROR Error when sending message to topic helloworld with key: null, value: 15 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.

 

 

小白刚接触Kafka,所以全靠蒙解决了这个问题,记录一下,如果你也和我一样是个小白,碰到这个问题不妨试一下;

我的控制台生产者语句:

bin/kafka-console-producer.sh --broker-list 192.168.1.130:9092 --topic test

控制台消费者语句:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

后来无意中发现我的conf/server.properties文件这么写的一句话:

# The address the socket server listens on. It will get the value returned from 
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = security_protocol://host_name:port
#   EXAMPLE:
    listeners = PLAINTEXT://192.168.1.130:9092
#listeners=PLAINTEXT://:9092

注意看没有注释的地方: lip我配置为本机虚拟机中的ip地址;

尝试着将发送者语句改为:

bin/kafka-console-producer.sh --broker-list 1.168.1.130:9092 --topic test

消费者就可以接收到消息了。

通过两次实验,发现一个奇淫巧技(我不能理解,以后明白了再回头看啦,勿喷)? 控制台发送者的broker-list的ip需要与server.properties中listeners处的一致,控制台消费者就能接收到消息。         

发布了31 篇原创文章 · 获赞 1 · 访问量 2万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览