centos

CentOS上Kafka的版本升级如何操作

小樊
40
2025-12-17 14:36:01
栏目: 智能运维

CentOS 上 Kafka 版本升级操作指南

一 升级前准备

二 升级路径与模式选择

三 标准操作步骤(滚动升级,适用于 ZooKeeper 模式)

  1. 在全部 Broker 上保持兼容性配置:在 server.properties 中设置
    inter.broker.protocol.version=当前版本号(如:2.5、2.8 等)
    log.message.format.version=当前消息格式版本(如未显式设置可先不配)
  2. 逐台升级(每次一台):
    • 停止旧 Broker:systemctl stop kafka(或按实际启停脚本)
    • 解压新版本并拷贝旧配置:tar -xzf kafka_2.13-<新版本>.tgz;cp 旧版/config/server.properties 新版/config/
    • 按需调整新版配置(如 listeners、log.dirs、zookeeper.connect 等)
    • 启动新 Broker:systemctl start kafka
    • 观察日志与监控,确认该节点已加入集群、分区 ISR 正常、无异常报错
  3. 全部节点升级完成后,统一提升协议版本:
    • 将所有 Broker 的 inter.broker.protocol.version 改为新版本号
    • 逐个滚动重启使其生效(此时通常已无法降级)
  4. 如曾显式设置消息格式版本,待客户端大多升级后再将 log.message.format.version 提升到新版本,并再次滚动重启。

四 标准操作步骤(KRaft 模式)

  1. 准备新版本目录并拷贝旧配置:tar -xzf kafka_2.13-<新版本>.tgz;cp 旧版/config/server.properties 新版/config/
  2. 生成并格式化存储(仅需一次,按实际角色与目录执行):
    • 生成集群 ID:export KAFKA_CLUSTER_ID=“$(uuidgen)”
    • 格式化:/opt/kafka/bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c /opt/kafka/config/server.properties
  3. 逐台滚动替换并启动新版本,验证节点注册、副本同步与健康状态。
  4. 如从 ZooKeeper 模式迁移至 KRaft,需按官方指引完成元数据迁移后再切换生产流量(建议在测试环境演练)。

五 验证与回退

六 常见注意事项

0
看了该问题的人还看了