Kafka集群zookeeper故障处理
Kafka cluster zookeeper failure handling
我打算实现一个由3台机器组成的kafka集群,一台用于zookeeper,另外两台作为broker。我有大约 6 台消费者机器和大约 100 台生产者。
现在,由于复制功能,如果其中一个代理失败,则可以避免数据丢失。但是如果zookeeper出现故障,同一台机器无法启动怎么办?我有几个问题:
- 我注意到即使在 zookeeper 失败之后,生产者仍继续在指定代理中推送消息。但消费者再也无法取回它们。因为消费者未注册。那么在这种情况下数据会永久丢失吗?
- 如何在 运行 时间内更改 broker 配置中的 zookeeper ip?他们必须关闭才能更改 zookeeper ip 吗?
- 即使之前以某种方式将新的 zookeeper 机器引入集群,之前的数据是否会丢失?
运行只有一个Zookeeper实例不具备容错能力,行为无法预测。根据 HBase reference,您应该设置一个至少包含 3 个服务器的集成。
查看官方文档页面:Zookeeper clustered setup。
我打算实现一个由3台机器组成的kafka集群,一台用于zookeeper,另外两台作为broker。我有大约 6 台消费者机器和大约 100 台生产者。
现在,由于复制功能,如果其中一个代理失败,则可以避免数据丢失。但是如果zookeeper出现故障,同一台机器无法启动怎么办?我有几个问题:
- 我注意到即使在 zookeeper 失败之后,生产者仍继续在指定代理中推送消息。但消费者再也无法取回它们。因为消费者未注册。那么在这种情况下数据会永久丢失吗?
- 如何在 运行 时间内更改 broker 配置中的 zookeeper ip?他们必须关闭才能更改 zookeeper ip 吗?
- 即使之前以某种方式将新的 zookeeper 机器引入集群,之前的数据是否会丢失?
运行只有一个Zookeeper实例不具备容错能力,行为无法预测。根据 HBase reference,您应该设置一个至少包含 3 个服务器的集成。
查看官方文档页面:Zookeeper clustered setup。