Apache kafka 卡夫卡引导服务器与卡夫卡控制台消费者中的zookeeper

Apache kafka 卡夫卡引导服务器与卡夫卡控制台消费者中的zookeeper,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我正在尝试使用3个代理和zookeeper测试单个Kafka节点。我希望使用控制台工具进行测试。我是这样经营制片人的: kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning 然后,

我正在尝试使用3个代理和zookeeper测试单个Kafka节点。我希望使用控制台工具进行测试。我是这样经营制片人的:

kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic
kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning
然后,我以这样的方式运行消费者:

kafka-console-producer --broker-list localhost:9092,localhost:9093,localhost:9094 --topic testTopic
kafka-console-consumer --zookeeper localhost:2181 --topic testTopic --from-beginning
我可以像预期的那样,在生产者中输入消息,并在消费者中看到它们然而,当我使用引导服务器运行消费者的更新版本时,我什么也得不到。例如

kafka-console-consumer --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic testTopic --from-beginning

当我有一个代理在端口9092上运行时,它工作得很好,所以我完全困惑了。有没有一种方法可以让我看到zookeeper作为引导服务器提供了什么?引导服务器与代理列表不同吗?Kafka使用Scala 2.11编译。

引导服务器与Kafka代理相同。如果您想查看zookeeper提供的引导服务器列表,可以通过任何ZK客户端查询ZNode信息。所有活跃经纪人均在/brokers/ids/[brokerId]下注册。你只需要一个法定人数地址。下面的命令将给你 活动引导服务器列表:


./zookeeper-shell.sh localhost:2181我不知道出了什么问题。很可能我把卡夫卡或动物园管理员置于一种奇怪的状态。删除每个代理的
log.dir
中的主题和
/brokers/topics
中的zookeeper主题,然后重新创建主题后,卡夫卡消费者的行为与预期一致。

我在使用不匹配的版本时遇到了相同的问题:

  • 卡夫卡客户端库
  • 卡夫卡剧本
  • 卡夫卡经纪人
在我的具体场景中,我使用的是Confluent Kafka客户端库版本0.10.2.1和Confluent Platform 3.3.0 w/Kafka broker 0.11.0.0。当我将Confluent平台降级到3.3.2,与我的客户端库相匹配时,消费者的工作与预期相符


我的理论是,最新的kafka控制台使用者使用新的使用者API只是使用最新的格式检索消息。Kafka 0.11.0.0中引入了许多消息格式更改。

代理/主题在哪里?我在zookeeper shell中找到了它,然后发出命令:rmr/brokers/topics/TOPIC\u NAME您可以在zookeeper shell中键入help以查看命令。我也看到了这一点:我看到了同样的事情。甚至,在删除log.dir之后。但是,我不知道/经纪人/主题在哪里