我正在尝试使用Kafka控制台生成器将消息发送到在同一台计算机上运行的Kafka代理.我跑的时候
echo "Hello world" | ./kafka-console-producer.sh --broker-list localhost:9092 --topic test
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
[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
Run Code Online (Sandbox Code Playgroud)
当我检查Kafka代理是否正在侦听端口9092时,它就在那里并且正在运行.如何调试为什么命令行生产者不能连接到代理?谢谢!
我遇到了同样的问题,看来 Kafka 向 Zookeeper 写入了错误的元数据。
解决此问题的最简单方法是删除正在其中注册代理数据的 znode。即,如果您使用默认值,则名称应为“/brokers”并且命令:
$ zkCli.sh
...
[zk: localhost:2181(CONNECTED) 1] rmr /brokers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2993 次 |
| 最近记录: |