本文档内容https://zookeeper.apache.org/doc/trunk/zookeeperReconfig.html针对 Zookeeper 3.5 描述了动态配置功能。
这份文档中有2个重点:
- 当更改一个 Zookeeper 实例的动态配置时,集合中的所有 Zookeeper 实例都会自动更新其配置。
- 当动态配置更新时,Zookeeper 集合的客户端可以重新平衡它们的连接,只要它们订阅
/zookeeper/config
Zookeeper,或者调用getConfig
,并通过调用来更新它们自己的 Zookeeper 服务器列表updateServerList
这一切看起来都非常有希望,因为目前(Kafka 2.12 和 Zookeeper 3.4.9),Zookeeper 和 Kafka 配置都是静态的,当需要更换 Zookeeper 节点时,需要在集合中的每个 Zookeeper 实例和每个 Kafka 代理上进行配置更改,并且需要重新启动所有参与者以重新加载配置。
我的问题是,假设您使用 Zookeeper 3.5 及其新的动态重新配置,是否有与之兼容的 Kafka 版本,它会在 Zookeeper 集合重新配置时更新它自己的 zookeeper.connect 配置?
答案1
Kafka 2.0 更新 zk 至 3.4.12https://issues.apache.org/jira/browse/KAFKA-6390。
而且它最近才发布。所以我想我们还要再等一会儿?