首页 文章

消费者连接到zookeeper而非经纪人消息消费?

提问于
浏览
0

根据Kafka tutoria的这份文件

Zookeper始于2181 Broker / Kafka,始于9092

Start Producer to Send Messages

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Hello-Kafka // producer is producing directly to broker not zookeeper which is correct

Start Consumer to Receive Messages

bin/kafka-console-consumer.sh --zookeeper localhost:2181 —topic Hello-Kafka --from-beginning

根据我的理解消费者直接从经纪人消费消息,但在上述消费者命令中,我们没有提到经纪人,只有动物园管理员 . 消费者是否会连接到zookeeper(而不是代理)来消费消息?

3 回答

  • 3

    有老 Kafka 消费者(0.8.2及更早)和新的 Kafka 消费者(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

  • 2

    您使用--zookeeper参数的是旧消费者 . 新的Kafka消费者(您应该使用它)直接连接到Kafka经纪人 . 为此,您可以使用--bootstrap-server选项而不是--zookeeper指定localhost:9092 . 新的消费者不再在Zookeeper上保存偏移,而是在Kafka代理上保存名为__consumer_offsets的特定主题 .

  • -1

    消费者订阅主题并连接到zookeeper .Kafka服务器通过Zookeeper群集共享信息 . Kafka在Zookeeper中存储基本元数据,例如有关主题,代理,消费者偏移(队列读取器)等的信息 . 为了更好地理解zookeeper的角色,请查看以下链接 .

    https://www.quora.com/What-is-the-actual-role-of-ZooKeeper-in-Kafka

相关问题