我正在尝试使用Kafka控制台生成器向运行在同一台机器上的Kafka代理发送消息。当我跑的时候
echo "Hello world" | ./kafka-console-producer.sh --broker-list localhost:9092 --topic test 我收到以下错误消息:
[2016-06-29 15:00:44,069] ERROR Error when sending message to topic test with key: null, value: 11 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Batch containing 1 record(s) expired due to timeout while requesting metadata from brokers for test-0当我检查Kafka代理是否正在监听端口9092时,它就在那里并且正在运行。如何调试为什么命令行生成器无法连接到代理?谢谢!
发布于 2016-11-22 04:54:50
我也遇到过同样的问题,似乎Kafka把错误的元数据写给了zookeeper。
通过此操作的最简单方法是删除注册代理数据的znode。也就是说,如果使用默认值,名称应该是'/brokers‘,并且命令:
$ zkCli.sh
...
[zk: localhost:2181(CONNECTED) 1] rmr /brokershttps://stackoverflow.com/questions/38103439
复制相似问题