kafka 消费者机器是否需要 运行 zookeeper?

Does a kafka consumer machine need to run zookeeper?

所以我的问题是:如果我有一个服务器 运行ning Kafka(和 zookeeper),而另一台机器只消费消息,消费者机器是否也需要 运行 zookeeper?还是服务器会处理所有事情?

消费者不需要zookeeper

没有

Zookeeper 在 Kafka 中的作用是:

  • Broker 注册:(集群成员)使用心跳机制使列表保持最新
  • 存储主题配置:存在哪些主题,每个主题有多少个分区 有,副本在哪里,谁是首选领导者,ISR列表 分区
  • 选举控制器:控制器是代理之一,负责维护所有分区的leader/follower关系。

因此只有kafka broker才需要Zookeeper。生产者或消费者端不需要Zookeper。

您没有提到您使用的是哪个版本的 Kafka 或客户端。

使用 0.8 的 Kafka 消费者将其偏移量存储在 Zookeeper 中,因此它们是必需的。但是,不,你不会 运行 Zookeeper 和消费者在同一台服务器上

从 0.9 及更高版本开始,客户端不再需要它(除非您想自己管理与 Zookeeper 的外部连接以存储数据)