我将实现一个kafka集群,由3台机器组成,一台用于zookeeper,另两台作为代理。我有大约6台消费机器和大约100个生产商。
现在,如果其中一个代理失败,由于复制功能,数据丢失就可以避免。但是如果zookeeper出现故障,同一台机器无法启动怎么办?我有几个问题:
我注意到,即使在zookeeper失败之后,生产者仍然继续在指定的代理中推送消息。但消费者再也找不到了。因为消费者没有注册。那么在这种情况下,数据是永久丢失的吗?
如何在运行时更改代理配置中的zookeeper ip?他们是否必须关闭才能更改zookeeper ip?
即使新的zookeeper机器以某种方式被引入到以前的集群中,以前的数据会丢失吗?
1条答案
按热度按时间xzabzqsa1#
仅运行zookeeper的一个示例是不容错的,并且行为无法预测。根据hbase参考,您应该设置一个至少有3台服务器的集成。
看看官方文档页面:zookeeper集群设置。