zookeeper-server-start.sh实际上使用的是/kafka/libs中的zookeeper jar,而



已安装zookeeper 3.6.2和Kafka 2.13-2.6.0最近我注意到zookeeper-server-start.sh实际上使用了/kafka/libs/中的zookeeper jar文件,即zookeeper-3.5.8.jar.

  1. 如何将zookeeper升级到3.6.2我必须找到一个版本的kafka,它捆绑在tar?

  2. 为什么他们要求你下载并安装zookeeper,如果这个jar已经捆绑在kafka中,并且是kafka使用的那个?

如果你想升级它,你需要单独安装(并启动)Kafka提供的版本和脚本之外的Zookeeper集群,但这有风险。

Kafka确实与Zookeeper捆绑在一起,并针对特定的版本进行了测试,但它不像Zookeeper项目那样频繁地升级。在盲目升级依赖组件之前,你应该遵循Kafka的升级说明;关于2.6版本的一些注意事项提到了Zookeeper升级可能失败的情况,以及需要添加哪些设置来修复它。除非你能保证Zookeeper服务器的升级是向后兼容的,否则Kafka仍然有一个版本特定的Zookeeper客户端来进行网络通信。

值得指出的是,Kafka KRaft (Zookeeper-less模式)已经在最新的3.x版本中处于预览发布阶段,并计划在今年年底接近生产就绪,所以我会推迟升级Zookeeper,除非你真的需要它做其他事情。

最新更新