我将实现一个由3台机器组成的kafka集群,一台用于zookeeper,另外两台用作经纪人 . 我有大约6台消费者机器和大约100家 生产环境 商 .
现在,如果其中一个代理失败,则可以通过复制功能避免数据丢失 . 但是如果zookeeper失败并且同一台机器无法启动怎么办?我有几个问题:
-
我注意到即使在动物园管理员失败之后, 生产环境 商继续在指定的经纪人中推送消息 . 但消费者无法再检索它们 . 因为消费者没有注册 . 那么在这种情况下数据会永久丢失吗?
-
如何在运行时更改代理配置中的zookeeper ip?他们是否必须关闭以更改zookeeper ip?
-
即使新的zookeeper机器以某种方式进入集群,之前的数据会丢失吗?
1 回答
仅运行Zookeeper的一个实例是不容错的,并且无法预测行为 . 根据HBase reference,您应该设置一个至少有3台服务器的集合 .
查看官方文档页面:Zookeeper clustered setup .