有人使用 Auto Scale 来扩展 Zookeeper 集群吗?如果动物园管理员规模扩大,客户如何知道它已经扩大或缩小?特别是像 Kafka,zookeeper 列表被添加到配置文件中,zookeeper 会发生什么情况,kafka 现在是如何缩放的等等?
最佳答案
简短回答:ZooKeeper 客户端本质上不需要知道/跟踪是否有新节点添加到 ZooKeeper 集群。他们只需要至少一个可用(健康)的 ZK 节点。
更长的答案(以 Kafka 作为 ZK 的示例客户端):
- 如果您只是向 ZooKeeper 集群添加新节点,那么 Kafka 代理无需了解这一点,因为
zookeeper.connect
配置仍然包含健康的 ZK 节点。 - 但是,如果您要替换/删除一些 ZooKeeper 节点,并且这些节点是
zookeeper.connect
配置中存在的唯一节点,则需要滚动重新启动 Kafka 节点,更新zookeeper.connect
配置后。
对于上面的#1,最好在 Kafka 集群下次重启时将新的 ZK 节点添加到 Kafka 配置中。
这同样适用于也依赖于 ZK 的其他技术(例如 Apache Storm)。
关于apache-kafka - 如何自动缩放apache Zookeeper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325702/