我将实现一个由 3 台机器组成的 kafka 集群,一台用于 zookeeper,另外 2 台作为代理。我有大约 6 台消费者机器和大约一百台生产者。
现在,如果其中一个代理失败,由于复制功能,可以避免数据丢失。但是如果zookeeper失败,同一台机器无法启动怎么办?我有几个问题:
- 我注意到,即使在 zookeeper 失败后,生产者仍继续在指定的代理中推送消息。但消费者再也无法取回它们。因为消费者没有注册。那么在这种情况下,数据会永久丢失吗?
- 如何在运行时更改代理配置中的 zookeeper ip?他们是否必须关闭才能更改 zookeeper ip?
- 即使以某种方式将新的 Zookeeper 机器带入集群,以前的数据也会丢失吗?