【Kafka官方文档翻译】5.1.5. 老版本升级

2017-06-15  本文已影响155人  FlySheep_ly

官文原文地址:https://kafka.apache.org/0101/documentation.html#upgrade

从 0.8.x,0.9.x 或 0.10.x 升级到 0.10.1.0

0.10.1.0 在 wire protocol 上有些变化。通过下面推荐的滚动升级计划,你能保证在升级过程中无需停机。但是,请在升级之前查看0.10.1.0版本显著的变化
  注意:因为引入了新的协议,在升级客户端之前请先升级Kafka集群(即:0.10.1.x 的客户端只支持 0.10.1.x 或更高版本的 broker,而 0.10.1.x 的 broker 支持老版本的客户端)

对于滚动升级:

1. 更新所有代理服务器上的 server.properties 文件,添加以下属性:

inter.broker.protocol.version=CURRENT_KAFKA_VERSION (例如 0.8.2.0, 0.9.0.0 or 0.10.0.0)
log.message.format.version=CURRENT_KAFKA_VERSION (了解此配置做什么的详细信息参见 [升级后潜在的性能影响](https://kafka.apache.org/0101/documentation.html#upgrade_10_performance_impact) )

2. 逐一升级代理服务器:关闭代理,更新代码,并重新启动。
  3. 一旦整个群集升级成功,通过编辑 inter.broker.protocol.version 将其设置为0.10.1.0 的协议版本。
  4. 如果以前的消息格式为0.10.0,改变 log.message.format.version 至 0.10.1(这是一个无效操作,因为0.10.0,0.10.1和0.10.2的消息格式相同)。如果以前的消息格式版本低于 0.10.0,不要改变log.message.format.version – 这个参数只能在所有的消费者都已经升级到 0.10.0.0 或更高版本之后才能改动。
  5. 逐一重新启动代理服务器使新协议版本生效。
  6. 如果这时 log.message.format.version 仍比 0.10.0 低,等到所有的消费者都已经升级到 0.10.0 或更高版本,然后更改每个代理服务器的 log.message.format.version 到0.10.1,然后逐一重新启动。
  注意:如果愿意接受宕机,可以简单地把所有的代理服务器关闭,更新代码,然后重新启动他们。他们将默认使用新的协议。
  注意:改变协议版本并重新启动可以在代理服务器升级之后的任何时间做,没有强制必须立刻重启。

0.10.1.0 的潜在突破变化
0.10.1.0 的显著变化
新协议版本

从 0.8.x 或 0.9.x 升级到 0.10.0.0 请参考官方原文资料

从 0.8.0, 0.8.1.X 或 0.8.2.X 升级到 0.9.0.0 请参考官方原文资料

从 0.8.1 升级到 0.8.2 请参考官方原文资料

从 0.8.0 升级到 0.8.1 请参考官方原文资料

从 0.7 升级 请参考官方原文资料

上一篇 下一篇

猜你喜欢

热点阅读