按照Apache Kafka快速入门指南,我完成了以下步骤:
下载并解压缩 kafka_2.11-2.1.0.tgz
cd kafka_2.11-2.1.0
bin/zookeeper-server-start.sh config/zookeeper.properties
在另一个终端的相同目录下, bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
。echo $?
之后运行,表明该命令以状态退出0
现在是关键时刻。该指南说:
现在,如果我们运行list topic命令,便可以看到该主题:
bin/kafka-topics.sh --list --zookeeper localhost:2181 > test
但是,我没有从该命令获得任何输出,也没有正在测试的软件正在尝试在计算机上发送消息。 "test"
主题崩溃,因为它找到该主题的0个分区。
我也有一个Ruby程序,可以将有关主题的消息发送到Kafka "test"
。它失败并重试,并且我在Kafka日志中看到了此时创建的主题,并且可以向其发送消息。但是即使那样,列出主题的命令也不会返回任何内容。
为什么不能显式创建主题?为什么我不能列出按需创建的主题?我该如何解决?
这是我在日志中看到的内容:https : //gist.github.com/nathanl/bea7a45a056b2d44146947ec88c29185
我面临着同样的问题。但是,我发现在untar命令之后,脚本bin / kafka-topics.sh的内容是空的。
因此,我再次下载了kafka,untar并检查了脚本文件的内容,直到在那里看到它为止,然后它就可以工作了。