【发布时间】:2016-05-13 07:01:06
【问题描述】:
我正在玩 Kafka 并使用我自己的本地单一实例 zookeeper + kafka 并遇到了这个我似乎不明白如何解决的错误。
我根据Apache Kafka Quickstart Guide 启动了一个简单的服务器
$ bin/zookeeper-server-start.sh config/zookeeper.properties
$ bin/kafka-server-start.sh config/server.properties
然后利用 kafkacat(通过 Homebrew 安装)我启动了一个 Producer,它只会回显我在控制台中输入的消息
$ kafkacat -P -b localhost:9092 -t TestTopic -T
test1
test1
但是当我尝试使用这些消息时,我得到一个错误:
$ kafkacat -C -b localhost:9092 -t TestTopic
% ERROR: Topic TestTopic error: Broker: Leader not available
同样,当我尝试列出它的元数据时
$ kafkacat -L -b localhost:9092 -t TestTopic
Metadata for TestTopic (from broker -1: localhost:9092/bootstrap):
0 brokers:
1 topics:
topic "TestTopic" with 0 partitions: Broker: Leader not available (try again)
我的问题:
- 这是我正在运行的 zookeeper 和/或 kafkacat 实例的问题吗?我问这个问题是因为在删除
/tmp/zookeeper和/tmp/kafka-logs目录后,我一直在关闭它们并重新启动它们 - 我需要尝试一些简单的设置吗?我尝试在 Kafka 的
server.properties设置文件中添加auto.leader.rebalance.enable=true,但这并没有解决这个特定问题 - 如何重新启动 zookeeper/kafka。是关闭它们,删除
/tmp/zookeeper和/tmp/kafka-logs目录,然后重新启动zookeeper,然后重新启动kafka 吗? (好吧,也许要走的路是构建一个我可以站立和拆卸的 docker 容器,我打算使用 spotify/docker-kafka 容器,但这不在 Kafka 0.9.0.0 上,我没有花时间建立我自己的)
【问题讨论】:
-
我在同一个教程中遇到了同样的问题。你找到解决方案了吗?不过我没有使用 Kafkakat。
-
我的解决方案是建立一个 docker 容器,我可以根据需要将其拆除并重新运行。请参阅:github.com/spotify/docker-kafka 您可以在 Dockerfile 中更改要运行的 Kafka 版本并构建映像
-
请看这里:stackoverflow.com/a/52209029/1545425 在另一个问题中报告的情况下,问题出现在生产时,但我相信在消费时可能与您的情况相同
-
你可以试试
bin/kafka-topics.sh --list --bootstrap-server localhost:9092。尝试使用bin/目录中的内置工具进行调试。我怀疑您的代理是否正在运行,您可以在此处发布您的代理日志以帮助调试。
标签: apache-kafka apache-zookeeper kafkacat