新搭建一套kafka集群,配置用的老的一样的配置,应该很快能够搞定,结果搞了一天,问题如下,
搭建完成后使用如下命令做生产者测试产生新数据:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
123
稍等下出现如下报错:
[2020-09-10 19:19:12,798] ERROR Error when sending message to topic test with key: null, value: 0 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
同时消费者也没收到数据,如下命令:
#消费消息
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
搜索了一阵,给的方案这样的:
listeners=PLAINTEXT://HostIP:9092
advertised.listeners=PLAINTEXT://HostIP:9092
port=9092
然鹅,重启后问题依旧未解决,再搜索,说是生产消息需要用broker所在的机器IP ,即生产消息的时候需要将下边的命令需要修改
#生产消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
改为 HostIP为执行命令机器IP:
bin/kafka-console-producer.sh --broker-list HostIP:9092 --topic test
重试了下果真可以,问题解决,真是坑坑。。