Kafka-消费者/生产者将所有Zookeper实例都关闭

时间:2018-09-25 13:38:44

标签: apache-kafka apache-zookeeper

我已经使用kafka_2.11-1.1.0分发存档配置了一个Kafka代理集群和一个Zk实例集群。

对于Kafka经纪人,我已经配置config / server.properties

broker.id=1,2,3
zookeeper.connect=box1:2181,box2:2181,box3:2181

对于Zk实例,我已经配置config / zookeeper.properties:

server.1=box1:2888:3888
server.2=box3:2888:3888
server.3=box3:2888:3888

我已经创建了一个基本的生产者和一个基本的消费者,即使我关闭了所有Zookeeper,我也不知道为什么我能够写消息/阅读消息 实例,并使所有Kafka代理启动并运行。 即使引导新的消费者,生产者也可以毫无问题地工作。

我认为拥有足够数量的Zk实例对于Kafka集群至关重要。

对于消费者和生产者,我都使用以下配置:

bootrapServers=box1:9092,box2:9092,box3:9092

谢谢

1 个答案:

答案 0 :(得分:2)

  

我认为拥有足够数量的Zk实例对于Kafka集群至关重要。

Zookeeper仲裁对于管理分区列表,领导者等至关重要。通常,ZK对于由集群中的集群协调器完成的管理是必需的。

基本上,现在(关闭ZK),您不能修改主题(因为分区元数据存储在ZK中),启动/关闭代理(因为它们使用ZK进行发现)和其他类似操作。

  

即使引导新的消费者,生产者也可以正常工作。

生产者/消费者操作仅适用于经纪人。代理实例仍可以追加到日志,并且仍可以与其他代理进行通信以进行复制。因此,可以发送消息,使消息被代理接收并保存到磁盘,同时与其他代理进行复制(因为它们不断向领导者发送获取请求(他们知道此分区的领导者是谁,因为他们在ZK时保存了该数据)仍在运行))。