您使用--zookeeper参数的是旧消费者。新的Kafka消费者(您应该使用它)直接连接到Kafka经纪人。为此,您可以使用--bootstrap-server选项而不是--zookeeper指定localhost:9092。新的消费者不再在Zookeeper上保存偏移,而是在Kafka代理上保存名为__consumer_offsets的特定主题。
消费者订阅主题并连接到zookeeper .Kafka服务器通过Zookeeper群集共享信息。 Kafka在Zookeeper中存储基本元数据,例如有关主题,代理,消费者偏移(队列读取器)等的信息。为了更好地理解zookeeper的角色,请查看以下链接。
https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka
有一个老卡夫卡消费者(0.8.2及更早)和一个新的卡夫卡消费者(0.9及以上)。有关新消费者如何工作的详细描述,请参阅此处的原始公告博客
https://www.confluent.io/blog/tutorial-getting-started-with-the-new-apache-kafka-0-9-consumer-client/
旧的消费者将连接到zookeeper,但仍然会从Kafka获取所有消息。
新的消费者没有zookeeper依赖,根本没有连接到zookeeper。
控制台生产者和控制台消费者支持旧的新api,具体取决于您提供的选项。您提供的示例控制台使用者是旧的使用者,因为它指定了--zookeeper而不是--bootstrap-server