Kafka -02- 滚动升级
环境说明
版本号 | 发布日期 | |
---|---|---|
当前版本 | 0.11.0.1 | 2017-09-14 |
最新版本 | 2.0 | 2018-07-30 |
配置文件路径:
/home/tools/kafka_2.12-0.11.0.1/config/
目标需求: 在 Kafka 集群不停机不停止服务的情况下进行升级改造。
可能存在的风险
轻微警报
- consumer 可能出现偏移量提交失败而造成重复消费
- broker 提示’NotLeaderForPartitionException’异常
- 由于节点下线,可能造成临时性能问题
严重警报
严格按照步骤升级,暂未捕捉到严重问题相关信息
升级步骤(滚动升级)
-
限定通讯协议版本:
配置 broker 上的 server.properties 文件:
inter.broker.protocol.version = 0.11.0
-
依次更新代码并重启 borker:
一次关闭一个 broker,更新源码,重启
-
更新通讯协议版本:
完成所有 broker 节点的源码更新后, 升级协议(方法同上):
inter.broker.protocol.version = 2.0
-
再次依次重启 broker:
同上,一次重启一个
ps: 如果修改过消息格式版本 (log.message.format.version),则需要在上面步骤中,同步配置:
log.message.format.version = 当前版本 / 要升级的版本
替代方案(离线升级)
关闭所有 broker,更新代码并重新启动。默认情况下,自动以新协议开始。