Kafka集群zookeeper故障处理

Kafka cluster zookeeper failure handling

我打算实现一个由3台机器组成的kafka集群,一台用于zookeeper,另外两台作为broker。我有大约 6 台消费者机器和大约 100 台生产者。

现在,由于复制功能,如果其中一个代理失败,则可以避免数据丢失。但是如果zo​​okeeper出现故障,同一台机器无法启动怎么办?我有几个问题:

  1. 我注意到即使在 zookeeper 失败之后,生产者仍继续在指定代理中推送消息。但消费者再也无法取回它们。因为消费者未注册。那么在这种情况下数据会永久丢失吗?
  2. 如何在 运行 时间内更改 broker 配置中的 zookeeper ip?他们必须关闭才能更改 zookeeper ip 吗?
  3. 即使之前以某种方式将新的 zookeeper 机器引入集群,之前的数据是否会丢失?

运行只有一个Zookeeper实例不具备容错能力,行为无法预测。根据 HBase reference,您应该设置一个至少包含 3 个服务器的集成。

查看官方文档页面:Zookeeper clustered setup