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